@Target(value={FIELD,PARAMETER,METHOD,TYPE}) @Retention(value=RUNTIME) @Documented @Qualifier public @interface New
The New
qualifier was deprecated in CDI 1.1. CDI applications are encouraged to inject Dependent
scoped beans
instead.
The @New
qualifier allows the application to obtain a new instance of a bean which is not bound to the declared
scope, but has had dependency injection performed.
@Produces @ConversationScoped @Special Order getSpecialOrder(@New(Order.class) Order order) { ... return order; }
When the @New
qualifier is specified at an injection point and no value
member is explicitly specified, the container defaults the value
to the
declared type of the injection point. So the following injection point has qualifier @New(Order.class)
:
@Produces @ConversationScoped @Special Order getSpecialOrder(@New Order order) { ... }
Modifier and Type | Optional Element and Description |
---|---|
java.lang.Class<?> |
value
Specifies the bean class of the new instance.
|
public abstract java.lang.Class<?> value
Specifies the bean class of the new instance. The class must be the bean class of an enabled or disabled bean. The bean class need not be deployed in a bean archive.
Defaults to the declared type of the injection point if not specified.