public interface Contextual<T>
Defines operations to create and destroy contextual instances of a
certain type. Any implementation of
Contextual is called a
contextual type. In particular, all beans are contextual types.
Create a new instance of the contextual type.
Destroy an instance of the contextual type.
T create(CreationalContext<T> creationalContext)
CreationalContextwhen obtaining contextual references to inject, in order to ensure that any dependent objects are associated with the contextual instance that is being created. An implementation may call
CreationalContext.push(Object)between instantiation and injection to help the container minimize the use of client proxy objects.
creationalContext- the context in which this instance is being created
CreationException- if a checked exception occurs while creating the instance
void destroy(T instance, CreationalContext<T> creationalContext)
CreationalContext.release()to allow the container to destroy dependent objects of the contextual instance.
instance- the contextual instance to destroy
creationalContext- the context in which this instance was created