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