Class PooledSoftReference<T>
- java.lang.Object
-
- org.apache.tomcat.dbcp.pool2.impl.DefaultPooledObject<T>
-
- org.apache.tomcat.dbcp.pool2.impl.PooledSoftReference<T>
-
- Type Parameters:
T
- the type of the underlying object that the wrapped SoftReference refers to.
- All Implemented Interfaces:
java.lang.Comparable<PooledObject<T>>
,PooledObject<T>
public class PooledSoftReference<T> extends DefaultPooledObject<T>
Extension ofDefaultPooledObject
to wrap pooled soft references.This class is intended to be thread-safe.
- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description PooledSoftReference(java.lang.ref.SoftReference<T> reference)
Creates a new PooledSoftReference wrapping the provided reference.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
getObject()
Gets the object that the wrapped SoftReference refers to.java.lang.ref.SoftReference<T>
getReference()
Gets the SoftReference wrapped by this object.void
setReference(java.lang.ref.SoftReference<T> reference)
Sets the wrapped reference.java.lang.String
toString()
Gets a String form of the wrapper for debug purposes.-
Methods inherited from class org.apache.tomcat.dbcp.pool2.impl.DefaultPooledObject
allocate, compareTo, deallocate, endEvictionTest, getActiveTimeMillis, getBorrowedCount, getCreateInstant, getCreateTime, getIdleDuration, getIdleTime, getIdleTimeMillis, getLastBorrowInstant, getLastBorrowTime, getLastReturnInstant, getLastReturnTime, getLastUsedInstant, getLastUsedTime, getState, invalidate, markAbandoned, markReturning, printStackTrace, setLogAbandoned, setRequireFullStackTrace, startEvictionTest, use
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tomcat.dbcp.pool2.PooledObject
equals, getActiveDuration, getActiveTime, getFullDuration, hashCode
-
-
-
-
Constructor Detail
-
PooledSoftReference
public PooledSoftReference(java.lang.ref.SoftReference<T> reference)
Creates a new PooledSoftReference wrapping the provided reference.- Parameters:
reference
- SoftReference to be managed by the pool
-
-
Method Detail
-
getObject
public T getObject()
Gets the object that the wrapped SoftReference refers to.Note that if the reference has been cleared, this method will return null.
- Specified by:
getObject
in interfacePooledObject<T>
- Overrides:
getObject
in classDefaultPooledObject<T>
- Returns:
- Object referred to by the SoftReference
-
getReference
public java.lang.ref.SoftReference<T> getReference()
Gets the SoftReference wrapped by this object.- Returns:
- underlying SoftReference
-
setReference
public void setReference(java.lang.ref.SoftReference<T> reference)
Sets the wrapped reference.This method exists to allow a new, non-registered reference to be held by the pool to track objects that have been checked out of the pool. The actual parameter should be a reference to the same object that
getObject()
returns before calling this method.- Parameters:
reference
- new reference
-
toString
public java.lang.String toString()
Gets a String form of the wrapper for debug purposes. The format is not fixed and may change at any time.- Specified by:
toString
in interfacePooledObject<T>
- Overrides:
toString
in classDefaultPooledObject<T>
-
-