Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * JBoss, Home of Professional Open Source
  * Copyright 2010, Red Hat, Inc., and individual contributors
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,  
 * See the License for the specific language governing permissions and
 * limitations under the License.
package javax.enterprise.inject;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

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

Gavin King
Pete Muir
public @interface New {

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.

the bean class of the new instance
    Class<?> value() default New.class;
New to GrepCode? Check out our FAQ X