javax.enterprise.inject
Annotation Type New


@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) { ... }
 

Author:
Gavin King, Pete Muir

Optional Element Summary
 java.lang.Class<?> value
           Specifies the bean class of the new instance.
 

value

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.

Returns:
the bean class of the new instance
Default:
javax.enterprise.inject.New.class


Copyright © 2008-2013 JBoss by Red Hat, Inc.. All Rights Reserved.