Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ТРЕБУЕМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ |
@Target(value={METHOD,FIELD}) @Retention(value=RUNTIME) @Documented public @interface Produces
Идентифицирует метод производителя или поле. Может быть применен к методу или полю боба class.
Метод производителя должен быть неабстрактным методом управляемого боба class или боб сеанса class. Метод производителя может быть или статичным или нестатичным. Если боб является бобом сеанса, метод производителя должен быть или бизнес-методом EJB или статическим методом боба class.
public class Shop { @Produces @ApplicationScoped @Catalog @Named("catalog") List<Product> getProducts() { ... } ... }
Поле производителя должно быть полем управляемого боба class или боб сеанса class. Поле производителя может быть или статичным или нестатичным. Если боб является бобом сеанса, поле производителя должно быть статическим полем боба class.
public class Shop { @Produces @ApplicationScoped @Catalog @Named("catalog") List<Product> products = ...; ... }
Если метод производителя иногда возвращает нулевое значение, или если поле производителя иногда содержит нулевое значение когда получено доступ, то у метода производителя или поля должен быть контекст @Dependent
.
Тип возврата метода производителя или тип поля производителя, возможно, не переменная типа.
Если тип возврата метода производителя или тип поля производителя являются параметризованным типом, это должно определить фактический параметр типа или ввести переменную для каждого параметра типа.
Если тип возврата метода производителя или тип поля производителя являются параметризованным типом с переменной типа, у этого должен быть контекст @Dependent
.
У метода производителя может быть любое число параметров. Все параметры метода производителя являются инжекционными точками.
public class OrderFactory { @Produces @ConversationScoped public Order createCurrentOrder(@New(Order.class) Order order, @Selected Product product) { order.setProduct(product); return order; } }
Боб может объявить многократные методы производителя или поля.
Методы производителя и поля не наследованы бобовыми подклассами.
Перехватчики и декораторы, возможно, не объявляют методы производителя или поля.
@Disposes
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ТРЕБУЕМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41