Module jakarta.cdi

Class Unmanaged<T>

  • Type Parameters:
    T - type of unmanaged instances

    public class Unmanaged<T>
    extends java.lang.Object

    Helper class for injecting and calling lifecycle callbacks unmanaged instances for use by framework and library integrators.

     Unmanaged<Foo> unmanagedFoo = new Unmanaged<Foo>(Foo.class);
     UnmanagedInstance<Foo> fooInstance = unmanagedFoo.newInstance();
     Foo foo = fooInstance.produce().inject().postConstruct().get();
     ... // Use the foo instance
     fooInstance.preDestroy().dispose();
     

    An instance of this class can be safely held for the lifetime of the application.

    Unmanaged.UnmanagedInstances created by this class are not suitable for sharing between threads.

    CDI Lite implementations are not required to provide support for Unmanaged.

    Since:
    1.1
    Author:
    Pete Muir
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Unmanaged.UnmanagedInstance<T>
      Represents a non-contextual instance.
    • Constructor Summary

      Constructors 
      Constructor Description
      Unmanaged​(BeanManager manager, java.lang.Class<T> clazz)
      Create an injector for the given class
      Unmanaged​(java.lang.Class<T> clazz)
      Create an injector for the given class, using the current bean manager
    • Constructor Detail

      • Unmanaged

        public Unmanaged​(BeanManager manager,
                         java.lang.Class<T> clazz)
        Create an injector for the given class
        Parameters:
        manager - the BeanManager
        clazz - class of the unmanaged instances
      • Unmanaged

        public Unmanaged​(java.lang.Class<T> clazz)
        Create an injector for the given class, using the current bean manager
        Parameters:
        clazz - class of the unmanaged instances