Annotation Interface ConfigurableService


@ComponentPropertyType @Retention(CLASS) @Target(TYPE) @NonNullByDefault public @interface ConfigurableService

ConfigurableService can be used as a marker interface for configurable services. But the interface itself is not relevant for the runtime. Each service which has the property description_uri() set will be considered as a configurable service. The properties label() and category() are optional.

The services are configured through the OSGi configuration admin. Therefore each service must provide a PID or a component name service property if the configuration is done by declarative services. If the Constants.SERVICE_PID property is not set the ComponentConstants.COMPONENT_NAME property will be used as fallback.

Author:
Dennis Nobel - Initial contribution, Wouter Born - Change to ComponentPropertyType
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The config description URI for the configurable service.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The category of the service to be configured (e.g.
    boolean
    Marker for multiple configurations for this service ("true" = multiple configurations possible)
    The label of the service to be configured.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Field Details

  • Element Details

    • description_uri

      String description_uri
      The config description URI for the configurable service. See also ConfigDescription.
    • label

      String label
      The label of the service to be configured.
      Default:
      ""
    • category

      String category
      The category of the service to be configured (e.g. binding).
      Default:
      ""
    • factory

      boolean factory
      Marker for multiple configurations for this service ("true" = multiple configurations possible)
      Default:
      false