Annotation Interface ServiceProvider
Also results in the automatic generation of service descriptor files (a.k.a.
META-INF/services).
- See Also:
-
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionString[]A list of attribute or directive names and values.The effective time of theosgi.extenderrequirement.Class<?>The type to register as the provider.The resolution policy of theosgi.extenderrequirement.Class<?>[]A list of classes whose packages are inspected to calculate theusesdirective for this capability.
-
Element Details
-
value
Class<?> valueThe service type.- Returns:
- the service type
-
-
-
effective
String effectiveThe effective time of theosgi.extenderrequirement.Specifies the time the
osgi.extenderrequirements are available. The OSGi framework resolver only considers requirements without an effective directive oreffective:=resolve. Requirements with other values for the effective directive can be considered by an external agent.If not specified, the
effectivedirective is omitted from the requirement clause.- Default:
- ""
-
uses
Class<?>[] usesA list of classes whose packages are inspected to calculate theusesdirective for this capability.If not specified, the
usesdirective is omitted from the capability clause.- Default:
- {}
-
attribute
String[] attributeA list of attribute or directive names and values.Each string should be specified in the form:
"name=value"for attributes."name:type=value"for typed attributes."name:=value"for directives.
osgi.serviceloadercapability. Non-standardosgi.serviceloaderattributes will be included as service properties to the published service.- Default:
- {}
-
resolution
String resolutionThe resolution policy of theosgi.extenderrequirement.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
resolutiondirective is omitted from the requirement clause.- Default:
- "default"
-
register
Class<?> registerThe type to register as the provider.If the annotation used on a package, then
register()must be set. It is optional when used on a type using the type as the value.The
registerdirective is omitted from the requirement clause.- Default:
- java.lang.annotation.Target.class
-