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.

    Since:
    1.1
    • 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​(java.lang.Class<T> clazz)
      Create an injector for the given class, using the current bean manager
      Unmanaged​(BeanManager manager, java.lang.Class<T> clazz)
      Create an injector for the given class
    • 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