/* * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeProvider.java,v 1.11 2006/06/16 16:31:23 hargrave Exp $ * * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.osgi.service.metatype; /** * Provides access to metatypes. * * @version $Revision: 1.11 $ */ public interface MetaTypeProvider { /** * Returns an object class definition for the specified id localized to the * specified locale. * *
* The locale parameter must be a name that consists of language[
* "_" country[ "_" variation] ] as is customary in
* the Locale class. This Locale class is not used
* because certain profiles do not contain it.
*
* @param id The ID of the requested object class. This can be a pid or
* factory pid returned by getPids or getFactoryPids.
* @param locale The locale of the definition or null for default
* locale.
* @return A ObjectClassDefinition object.
* @throws IllegalArgumentException If the id or locale arguments are not
* valid
*/
public ObjectClassDefinition getObjectClassDefinition(String id, String locale);
/**
* Return a list of available locales.
*
* The results must be names that consists of language [ _ country [ _
* variation ]] as is customary in the Locale class.
*
* @return An array of locale strings or null if there is no
* locale specific localization can be found.
*
*/
public String[] getLocales();
}