Top Description Methods
org.glassfish.hk2.api

public @Interface Metadata

extends Annotation
Annotations
@Documented
@Retention:RUNTIME
@Target:METHOD
Imports
java.lang.annotation.Documented, .Retention, .Target

This annotation marks a method of an annotation as providing a value that should be placed into the metadata of a Descriptor.

One downside of using Qualifiers (or values in the Scope annotation) is that in order to get these values the underlying classes must be reified. In order to relieve the system from having to reify classes to get the data in the scope and qualifier annotations this annotation can be placed on the methods of an annotation to indicate that the values found in the annotation should be placed into the metadata of the descriptor. Since the metadata of a descriptor can be accessed without classloading the underlying class the descriptor is describing this data can then be accessed without needing to reify the class.

This qualifier will be honored whenever the system does automatic analysis of a class (for example, when analyzing a pre-reified class file or object). It will also be used by the automatic inhabitant generator when analyzing class files marked @Service. However, if the programmatic API is being used to build up a descriptor file this annotation is not taken into account, and it is hence the responsibility of the user of the programmatic API to fill in the metadata values itself.

This annotation can be placed on any method of an annotation marked with jakarta.inject.Scope or jakarta.inject.Qualifier. The "toString" of the object returned from that method will be placed in the metadata of the descriptor that is created (unless the object returned is a Class, in which case the name of the Class is used)

Author
jwells
See Also
ActiveDescriptor

Method Summary

Modifier and TypeMethod and Description
public String

Returns:

The key of the metadata field that will be added to
value
()

This is the key that will be used in the metadata field of the descriptor.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

valueback to summary
public String value()

This is the key that will be used in the metadata field of the descriptor. Values returned from the methods annotated with this annotation will have their toString called and the result will be added to the metadata key with this value (unless the return type is Class, in which case the name of the class will be used)

Returns:String

The key of the metadata field that will be added to