Package org.apache.commons.pool2.proxy
Class BaseProxyHandler<T>
- java.lang.Object
-
- org.apache.commons.pool2.proxy.BaseProxyHandler<T>
-
- Type Parameters:
T
- type of the wrapped pooled object
- Direct Known Subclasses:
CglibProxyHandler
,JdkProxyHandler
class BaseProxyHandler<T> extends java.lang.Object
Base implementation for object wrappers when using aProxiedObjectPool
.- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description private T
pooledObject
private UsageTracking<T>
usageTracking
-
Constructor Summary
Constructors Constructor Description BaseProxyHandler(T pooledObject, UsageTracking<T> usageTracking)
Create a new wrapper for the given pooled object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) T
disableProxy()
Disable the proxy wrapper.(package private) java.lang.Object
doInvoke(java.lang.reflect.Method method, java.lang.Object[] args)
Invoke the given method on the wrapped object.(package private) T
getPooledObject()
Obtain the wrapped, pooled object.(package private) void
validateProxiedObject()
Check that the proxy is still valid (i.e.
-
-
-
Field Detail
-
pooledObject
private volatile T pooledObject
-
usageTracking
private final UsageTracking<T> usageTracking
-
-
Constructor Detail
-
BaseProxyHandler
BaseProxyHandler(T pooledObject, UsageTracking<T> usageTracking)
Create a new wrapper for the given pooled object.- Parameters:
pooledObject
- The object to wrapusageTracking
- The instance, if any (usually the object pool) to be provided with usage tracking information for this wrapped object
-
-
Method Detail
-
getPooledObject
T getPooledObject()
Obtain the wrapped, pooled object.- Returns:
- the underlying pooled object
-
disableProxy
T disableProxy()
Disable the proxy wrapper. Called when the object has been returned to the pool. Further use of the wrapper should result in anIllegalStateException
.- Returns:
- the object that this proxy was wrapping
-
validateProxiedObject
void validateProxiedObject()
Check that the proxy is still valid (i.e. thatdisableProxy()
has not been called).- Throws:
java.lang.IllegalStateException
- ifdisableProxy()
has been called
-
doInvoke
java.lang.Object doInvoke(java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
Invoke the given method on the wrapped object.- Parameters:
method
- The method to invokeargs
- The arguments to the method- Returns:
- The result of the method call
- Throws:
java.lang.Throwable
- If the method invocation fails
-
-