Interface MetaTypeProvider

All Known Subinterfaces:
MetaTypeInformation

@ConsumerType public interface MetaTypeProvider
Provides access to metatypes. This interface can be implemented on a Managed Service or Managed Service Factory as well as registered as a service. When registered as a service, it must be registered with a METATYPE_FACTORY_PID or METATYPE_PID service property (or both). Any PID mentioned in either of these factories must be a valid argument to the getObjectClassDefinition(String, String) method.
"ThreadSafe"
  • Field Details

    • METATYPE_PID

      static final String METATYPE_PID
      Service property to signal that this service has ObjectClassDefinition objects for the given PIDs. The type of this service property is String+.
      Since:
      1.2
      See Also:
    • METATYPE_FACTORY_PID

      static final String METATYPE_FACTORY_PID
      Service property to signal that this service has ObjectClassDefinition objects for the given factory PIDs. The type of this service property is String+.
      Since:
      1.2
      See Also:
  • Method Details

    • getObjectClassDefinition

      ObjectClassDefinition getObjectClassDefinition(String id, String locale)
      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.

      Parameters:
      id - The ID of the requested object class. This can be a pid or factory pid returned by getPids or getFactoryPids.
      locale - The locale of the definition or null for default locale.
      Returns:
      A ObjectClassDefinition object.
      Throws:
      IllegalArgumentException - If the id or locale arguments are not valid
    • getLocales

      String[] getLocales()
      Return a list of available locales. The results must be names that consists of language [ _ country [ _ variation ]] as is customary in the Locale class.
      Returns:
      An array of locale strings or null if there is no locale specific localization can be found.