Package org.osgi.annotation.bundle
Annotation Type 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:
""
-