|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.wamblee.general.ThreadSpecificProxyFactory<T>
public class ThreadSpecificProxyFactory<T>
Thread-specific proxy is used to create implementations of interfaces that delegate to a thread-specific implementation of the service.
It can be used for instance to create a contextual reference to an entity manager that delegates to a thread-specific instance.
The set(Object) method sets the current service instance for the
current thread. The get() method gets the current service instance
for the current thread. The getProxy() method gets a proxy that will
delegate at runtime to the thread-specific instance. The result from this
method can be passed at construction of an object that will be used by
multiple threads.
This class is mostly used by infrastructure code (utilities) and test tools.
Care has been taken so that the invocation handler is serializable. However, it is only serializable within one virtual machine. It cannot be used in a distributed context where it can be sent to another JVM.
This class currently does not do any cleanup. So it should not be used in production code but only in test utilities.
| Nested Class Summary | |
|---|---|
static interface |
ThreadSpecificProxyFactory.CreationCallback<T>
Optional callback invoked to create the thread-specific object when there is no object yet associated with the current thread. |
| Constructor Summary | |
|---|---|
ThreadSpecificProxyFactory(Class<T> aClass)
Constructs the factory. |
|
ThreadSpecificProxyFactory(Class<T> aClass,
ThreadSpecificProxyFactory.CreationCallback<T> aCallback)
Constructs the factory with a callback to create thread-specific objects automatically. |
|
| Method Summary | |
|---|---|
T |
get()
Gets the current thread-specific service. |
T |
getProxy()
Gets the proxy that delegates to the thread-specific instance set by set(Object) |
void |
set(T aService)
Sets the thread-specific service. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ThreadSpecificProxyFactory(Class<T> aClass)
aClass - Interface class of the service to proxy.
public ThreadSpecificProxyFactory(Class<T> aClass,
ThreadSpecificProxyFactory.CreationCallback<T> aCallback)
aClass - Interface class of the service to proxy.aCallback - Callback to create the object if it does not exist. When null,
then no initialization is done.| Method Detail |
|---|
public void set(T aService)
aService - Service, use null value to reset.public T get()
getProxy().
public T getProxy()
set(Object)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||