Package org.osgi.annotation.bundle
Annotation Type Directive
-
@Documented @Retention(CLASS) @Target(METHOD) public @interface Directive
Mark an annotation element as a directive.This is used when applying
Capability
orRequirement
as a meta annotation to an annotation declaration. The value of the annotation element annotated withDirective
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 theMyCapability
annotation, which is meta annotated with theCapability
andDirective
annotations, will result in a capability in the namespacemy.namespace
with the directiveresource:=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 theresource
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 Modifier and Type Optional Element Description java.lang.String
value
The name of the directive.
-