@Documented @Retention(value=CLASS) @Target(value=METHOD) public @interface Attribute
This is used when applying Capability or Requirement as a
meta annotation to an annotation declaration. The value of the annotation
element annotated with Attribute is used as the value of an attribute
in the generated capability or requirement clause. For example:
@Capability(namespace = "my.namespace")
public @interface MyCapability {
@Attribute("attr")
String value() default "";
}
@MyCapability("foo")
public MyClass {}
The use of the MyCapability annotation, which is meta annotated with
the Capability and Attribute annotations, will result in a
capability in the namespace my.namespace with the attribute
attr=foo.
If the element annotated with Attribute is unspecified when applied,
then the attribute must not be generated in the generated capability or
requirement clause. For example:
@MyCapability
public MyClass {}
will not have the attr attribute in the generated capability.
This annotation is not retained at runtime. It is for use by tools to generate bundle manifests.
public abstract String value
If not specified, the name of the annotated element is used as the name of the attribute.
Copyright © Contributors to the Eclipse Foundation Licensed under the Eclipse Foundation Specification License – v1.0