|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={METHOD,FIELD,PARAMETER}) @Retention(value=RUNTIME) public @interface Reference
The @Reference annotation type is used to annotate a Java class field, a setter method, or a constructor parameter that is used to inject a service that resolves the reference. The interface of the service injected is defined by the type of the Java class field or the type of the input parameter of the setter method or constructor. The @Reference annotation MUST NOT be used on a class field that is declared as final. References can also be injected via setter methods even when the @Reference annotation is not present. However, the @Reference annotation must be used in order to inject a reference onto a non-public field. In the case where there is no @Reference annotation, the name of the reference is the same as the name of the field or setter. Where there is both a setter method and a field for a reference, the setter method is used.
Optional Element Summary | |
---|---|
java.lang.String |
name
The name of the reference. |
boolean |
required
Specifies whether injection of service or services is required. |
public abstract java.lang.String name
public abstract boolean required
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |