Class LockedPool<P>
- Type Parameters:
 P- the type of the pooled objects
- All Implemented Interfaces:
 Pool<P>
A Pool.Wrapper that tracks the acquire/release/remove pool events.
The acquire/release/remove pool events are forwarded atomically to be handled
by a LockedPool.Tracker implementation, so that the pool event and the handling of
the event by the tracker are atomic.
- 
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface Pool
Pool.Entry<E>, Pool.Wrapper<W> - 
Constructor Summary
ConstructorsConstructorDescriptionLockedPool(Pool<P> pool) LockedPool(Pool<P> pool, LockedPool.Tracker<P> tracker)  - 
Method Summary
Modifier and TypeMethodDescriptionacquire()Acquires an entry from the pool.acquire(Function<Pool.Entry<P>, P> creator) Acquires an entry from the pool, reserving and creating a new entry if necessary.intbooleanreserve()Creates a new disabled slot into the pool.intsize()stream()Terminates thisPool.Methods inherited from class Pool.Wrapper
getIdleCount, getInUseCount, getReservedCount, getTerminatedCount, getWrapped 
- 
Constructor Details
- 
LockedPool
 - 
LockedPool
 
 - 
 - 
Method Details
- 
reserve
Description copied from interface:PoolCreates a new disabled slot into the pool.
The returned entry must ultimately have the
Pool.Entry.enable(Object, boolean)method called or be removed viaPool.Entry.remove(). - 
acquire
Description copied from interface:PoolAcquires an entry from the pool.
Only enabled entries will be returned from this method and their
Pool.Entry.enable(Object, boolean)method must not be called. - 
acquire
Description copied from interface:PoolAcquires an entry from the pool, reserving and creating a new entry if necessary.
 - 
isTerminated
public boolean isTerminated()- Specified by:
 isTerminatedin interfacePool<P>- Overrides:
 isTerminatedin classPool.Wrapper<P>- Returns:
 - whether this 
Poolhas been terminated - See Also:
 
 - 
terminate
Description copied from interface:PoolTerminates this
Pool.All the entries are marked as terminated and cannot be acquired nor released, but only removed.
The returned list of all entries may be iterated to perform additional operations on the pooled objects.
The pool cannot be used anymore after it is terminated.
 - 
size
 - 
getMaxSize
public int getMaxSize()- Specified by:
 getMaxSizein interfacePool<P>- Overrides:
 getMaxSizein classPool.Wrapper<P>- Returns:
 - the maximum number of entries in this 
Pool 
 - 
stream
 
 -