| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
T - the required bean typepublic interface Instance<T>
Allows the application to dynamically obtain instances of beans with a specified combination of required type and qualifiers.
In certain situations, injection is not the most convenient way to obtain a contextual reference. For example, it may not be used when:
In these situations, an instance of the Instance may be injected:
@Inject Instance<PaymentProcessor> paymentProcessor;
Any combination of qualifiers may be specified at the injection point:
@Inject @PayBy(CHEQUE) Instance<PaymentProcessor> chequePaymentProcessor;
Or, the @Any qualifier may 
 be used, allowing the application to specify qualifiers dynamically:
@Inject @Any Instance<PaymentProcessor> anyPaymentProcessor;
Finally, the @New qualifier 
 may be used, allowing the application to obtain a 
 @New qualified bean:
@Inject @New(ChequePaymentProcessor.class) Instance<PaymentProcessor> chequePaymentProcessor;
For an injected Instance:
The inherited Provider.get() method returns a
 contextual references for the unique bean that matches the required 
 type and required qualifiers and is eligible for injection into the 
 class into which the parent Instance was injected, or throws 
 an UnsatisfiedResolutionException or
 AmbiguousResolutionException.
PaymentProcessor pp = chequePaymentProcessor.get();
The inherited Iterable.iterator() method returns
 an iterator over contextual references for beans that match the required 
 type and required qualifiers and are eligible for injection into the class
 into which the parent Instance was injected.
for (PaymentProcessor pp: anyPaymentProcessor) pp.test();
Provider.get(), 
Iterable.iterator(), 
AnnotationLiteral, 
TypeLiteral| Method Summary | ||
|---|---|---|
|  boolean | isAmbiguous()Determines if there is more than one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent Instance was injected. | |
|  boolean | isUnsatisfied()Determines if there is no bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent Instance was injected. | |
|  Instance<T> | select(java.lang.annotation.Annotation... qualifiers)Obtains a child Instance for the given additional required qualifiers. | |
| 
 | select(java.lang.Class<U> subtype,
       java.lang.annotation.Annotation... qualifiers)Obtains a child Instance for the given required type and additional required qualifiers. | |
| 
 | select(TypeLiteral<U> subtype,
       java.lang.annotation.Annotation... qualifiers)Obtains a child Instance for the given required type and additional required qualifiers. | |
| Methods inherited from interface java.lang.Iterable | 
|---|
| iterator | 
| Methods inherited from interface javax.inject.Provider | 
|---|
| get | 
| Method Detail | 
|---|
Instance<T> select(java.lang.annotation.Annotation... qualifiers)
Obtains a child Instance for the given additional required qualifiers.
qualifiers - the additional required qualifiers
IllegalArgumentException - if passed two instances of the 
 same qualifier type, or an instance of an annotation that is not 
 a qualifier type
<U extends T> Instance<U> select(java.lang.Class<U> subtype,
                                 java.lang.annotation.Annotation... qualifiers)
Obtains a child Instance for the given required type and additional required qualifiers.
U - the required typesubtype - a Class representing the required typequalifiers - the additional required qualifiers
IllegalArgumentException - if passed two instances of the 
 same qualifier type, or an instance of an annotation that is not 
 a qualifier type
<U extends T> Instance<U> select(TypeLiteral<U> subtype,
                                 java.lang.annotation.Annotation... qualifiers)
Obtains a child Instance for the given required type and additional required qualifiers.
U - the required typesubtype - a TypeLiteral representing the required typequalifiers - the additional required qualifiers
IllegalArgumentException - if passed two instances of the 
 same qualifier type, or an instance of an annotation that is not 
 a qualifier typeboolean isUnsatisfied()
Determines if there is no bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent Instance was injected.
boolean isAmbiguous()
Determines if there is more than one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent Instance was injected.
| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.
Generated on 10-February-2011 12:41