-
- Type Parameters:
T
- type of the instance
- All Known Subinterfaces:
Bean<T>
,Decorator<T>
,Interceptor<T>
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.- Author:
- Gavin King, Nicklas Karlsson, Pete Muir
- See Also:
Bean
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
create(CreationalContext<T> creationalContext)
Create a new instance of the contextual type.void
destroy(T instance, CreationalContext<T> creationalContext)
Destroy an instance of the contextual type.
-
-
-
Method Detail
-
create
T create(CreationalContext<T> creationalContext)
Create a new instance of the contextual type. Instances should use the givenCreationalContext
when 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 callCreationalContext.push(Object)
between instantiation and injection to help the container minimize the use of client proxy objects.- Parameters:
creationalContext
- the context in which this instance is being created- Returns:
- the contextual instance
- Throws:
CreationException
- if a checked exception occurs while creating the instance
-
destroy
void destroy(T instance, CreationalContext<T> creationalContext)
Destroy an instance of the contextual type. Implementations should callCreationalContext.release()
to allow the container to destroy dependent objects of the contextual instance.- Parameters:
instance
- the contextual instance to destroycreationalContext
- the context in which this instance was created
-
-