Annotation Type New



  • @Target({FIELD,PARAMETER,METHOD,TYPE})
    @Retention(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) { ... }
     
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.Class<?> value
      Specifies the bean class of the new instance.
    • Element Detail

      • value

        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