|
Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
| ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД | ||||||||
T - необходимый бобовый типpublic interface Instance<T>
Позволяет приложению динамически получать экземпляры бобов с указанной комбинацией необходимого типа и спецификаторов.
В определенных ситуациях инжекция не является самым удобным способом получить контекстную ссылку. Например, это не может использоваться когда:
В этих ситуациях может быть введен экземпляр Instance:
@Inject Instance<PaymentProcessor> paymentProcessor;
Любая комбинация спецификаторов может быть определена в инжекционной точке:
@Inject @PayBy(CHEQUE) Instance<PaymentProcessor> chequePaymentProcessor;
Или, @Any спецификатор может использоваться, позволяя приложение определить спецификаторы динамически:
@Inject @Any Instance<PaymentProcessor> anyPaymentProcessor;
Наконец, @New спецификатор может использоваться, позволяя приложение получить a @New квалифицированный боб:
@Inject @New(ChequePaymentProcessor.class) Instance<PaymentProcessor> chequePaymentProcessor;
Для введенного Instance:
Наследованный Provider.get() метод возвращает контекстные ссылки для уникального боба, который соответствует необходимый тип и требуемые спецификаторы и имеет право на инжекцию в class, в который родительский Instance был введен, или бросает UnsatisfiedResolutionException или AmbiguousResolutionException.
PaymentProcessor pp = chequePaymentProcessor.get();
Наследованный Iterable.iterator() метод возвращает iterator по контекстным ссылкам для бобов, которые соответствуют необходимый тип и требуемые спецификаторы и имеют право на инжекцию в class, в который был введен родительский Instance.
for (PaymentProcessor pp: anyPaymentProcessor) pp.test();
Provider.get(), Iterable.iterator(), AnnotationLiteral, TypeLiteral| Сводка метода | ||
|---|---|---|
boolean |
isAmbiguous()
Определяет, есть ли больше чем один боб, который соответствует необходимый тип и спецификаторы и имеет право на инжекцию в class, в который был введен родительский Instance. |
|
boolean |
isUnsatisfied()
Определяет, нет ли никакого боба, который соответствует необходимый тип и спецификаторы и имеет право на инжекцию в class, в который был введен родительский Instance. |
|
Instance<T> |
select(java.lang.annotation.Annotation... qualifiers)
Получает дочерний Instance для данных дополнительных необходимых спецификаторов. |
|
|
select(java.lang.Class<U> subtype, java.lang.annotation.Annotation... qualifiers)
Получает дочерний Instance для данного требуемого типа и дополнительных необходимых спецификаторов. |
|
|
select(TypeLiteral<U> subtype, java.lang.annotation.Annotation... qualifiers)
Получает дочерний Instance для данного требуемого типа и дополнительных необходимых спецификаторов. |
|
| Методы, наследованные от интерфейса java.lang. Повторяемый |
|---|
iterator |
| Методы, наследованные от интерфейса javax.inject. Провайдер |
|---|
добраться |
| Деталь метода |
|---|
Instance<T> select(java.lang.annotation.Annotation... qualifiers)
Получает дочерний Instance для данных дополнительных необходимых спецификаторов.
qualifiers - дополнительные необходимые спецификаторы IllegalArgumentException - если передано два экземпляра того же самого типа спецификатора, или экземпляр аннотации, которая не является типом спецификатора
<U extends T> Экземпляр<U> select(java.lang.Class<U> subtype,
java.lang.annotation.Annotation... qualifiers)
Получает дочерний Instance для данного требуемого типа и дополнительных необходимых спецификаторов.
U - необходимый типsubtype - a Class представление необходимого типаqualifiers - дополнительные необходимые спецификаторы IllegalArgumentException - если передано два экземпляра того же самого типа спецификатора, или экземпляр аннотации, которая не является типом спецификатора
<U extends T> Экземпляр<U> select(TypeLiteral<U> subtype,
java.lang.annotation.Annotation... qualifiers)
Получает дочерний Instance для данного требуемого типа и дополнительных необходимых спецификаторов.
U - необходимый типsubtype - a TypeLiteral представление необходимого типаqualifiers - дополнительные необходимые спецификаторы IllegalArgumentException - если передано два экземпляра того же самого типа спецификатора, или экземпляр аннотации, которая не является типом спецификатораboolean isUnsatisfied()
Определяет, нет ли никакого боба, который соответствует необходимый тип и спецификаторы и имеет право на инжекцию в class, в который был введен родительский Instance.
boolean isAmbiguous()
Определяет, есть ли больше чем один боб, который соответствует необходимый тип и спецификаторы и имеет право на инжекцию в class, в который был введен родительский Instance.
|
|||||||||
| ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД | ||||||||
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41