Package org.osgi.annotation.bundle
Annotation Interface Directive
Mark an annotation element as a directive.
This is used when applying Capability
or Requirement
as a
meta annotation to an annotation declaration. The value of the annotation
element annotated with Directive
is used as the value of a directive
in the generated capability or requirement clause. For example:
@Capability(namespace = "my.namespace") public @interface MyCapability { @Directive("resource") String value() default ""; } @MyCapability("foo") public MyClass {}The use of the
MyCapability
annotation, which is meta annotated with
the Capability
and Directive
annotations, will result in a
capability in the namespace my.namespace
with the directive
resource:=foo
.
If the element annotated with Directive
is unspecified when applied,
then the directive must not be generated in the generated capability or
requirement clause. For example:
@MyCapability public MyClass {}will not have the
resource
directive in the generated capability.
This annotation is not retained at runtime. It is for use by tools to generate bundle manifests.
-
Optional Element Summary
Optional Elements
-
Element Details
-
value
String valueThe name of the directive.If not specified, the name of the annotated element is used as the name of the directive.
- Default:
- ""
-