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.
| Modifier and Type | Method and Description |
|---|---|
| public String |
| value | back to summary |
|---|---|
| public String value() The name of the directive. If not specified, the name of the annotated element is used as the name of the directive. | |