Annotation Type ServiceConsumer


  • @Repeatable(ServiceConsumers.class)
    @Retention(CLASS)
    @Target({PACKAGE,TYPE})
    @Requirement(name="${#value}",namespace="osgi.serviceloader",attribute={"osgi.serviceloader=${#value}","${if;${is;${#cardinality};default};;cardinality:=${#cardinality}}","${if;${is;${#resolution};default};;resolution:=${#resolution}}"}) @Requirement(name="osgi.serviceloader.processor",namespace="osgi.extender",version="1.0.0",attribute="${if;${is;${#resolution};default};;resolution:=${#resolution}}")
    public @interface ServiceConsumer
    Annotation used to generate requirements necessary for supporting the consumer side of the Service Loader Mediator specification.
    See Also:
    Service Loader Mediator
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.Class<?> value
      The service type.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      Cardinality cardinality
      The cardinality of this requirement.
      java.lang.String effective
      The effective time of the osgi.serviceloader and osgi.extender requirements.
      Resolution resolution
      The resolution policy of the osgi.serviceloader and osgi.extender requirements.
    • Element Detail

      • value

        java.lang.Class<?> value
        The service type.
        Returns:
        the service type
      • effective

        @Directive
        java.lang.String effective
        The effective time of the osgi.serviceloader and osgi.extender requirements.

        Specifies the time the service loader requirements are available. The OSGi framework resolver only considers requirements without an effective directive or effective:=resolve. Requirements with other values for the effective directive can be considered by an external agent.

        If not specified, the effective directive is omitted from the requirement clause.

        Default:
        ""
      • cardinality

        Cardinality cardinality
        The cardinality of this requirement.

        Indicates if this requirement can be wired a single time or multiple times.

        If not specified, the cardinality directive is omitted from the requirement clause.

        Default:
        aQute.bnd.annotation.Cardinality.DEFAULT
      • resolution

        Resolution resolution
        The resolution policy of the osgi.serviceloader and osgi.extender requirements.

        A mandatory requirement forbids the bundle to resolve when this requirement is not satisfied; an optional requirement allows a bundle to resolve even if this requirement is not satisfied.

        If not specified, the resolution directive is omitted from the requirement clause.

        Default:
        aQute.bnd.annotation.Resolution.DEFAULT