ehcache

net.sf.ehcache.pool.impl
Class AbstractPool

java.lang.Object
  extended by net.sf.ehcache.pool.impl.AbstractPool
All Implemented Interfaces:
Pool
Direct Known Subclasses:
BoundedPool, StrictlyBoundedPool

public abstract class AbstractPool
extends Object
implements Pool

An abstract pool implementation.

This contains all the logic of a pool except for the actual creation of accessor instances.

Author:
Chris Dennis, Alex Snaps

Constructor Summary
AbstractPool(long maximumPoolSize, PoolEvictor evictor, SizeOfEngine defaultSizeOfEngine)
          Create an AbstractPool instance
 
Method Summary
 PoolAccessor createPoolAccessor(PoolParticipant participant, int maxDepth, boolean abortWhenMaxDepthExceeded)
          Return a PoolAccessor whose consumption is tracked by this pool, using a default SizeOf engine.
 PoolEvictor getEvictor()
          Return the pool evictor used by this pool.
 long getMaxSize()
          Return the maximum size of the pool.
 Collection<PoolAccessor> getPoolAccessors()
          Return the participants accessing this pool.
 long getSize()
          Return the used size of the pool.
 void registerPoolAccessor(PoolAccessor accessor)
          Register an accessor implementation with this pool.
 void removePoolAccessor(PoolAccessor accessor)
          Remove the supplied accessor from this pool.
 void setMaxSize(long newSize)
          Change the maximum size of the pool.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.ehcache.pool.Pool
createPoolAccessor
 

Constructor Detail

AbstractPool

public AbstractPool(long maximumPoolSize,
                    PoolEvictor evictor,
                    SizeOfEngine defaultSizeOfEngine)
Create an AbstractPool instance

Parameters:
maximumPoolSize - the maximum size of the pool, in bytes.
evictor - the pool evictor, for cross-store eviction.
defaultSizeOfEngine - the default SizeOf engine used by the accessors.
Method Detail

getSize

public long getSize()
Return the used size of the pool.

Specified by:
getSize in interface Pool
Returns:
used size of the pool.

getMaxSize

public long getMaxSize()
Return the maximum size of the pool.

Specified by:
getMaxSize in interface Pool
Returns:
the maximum size of the pool.

setMaxSize

public void setMaxSize(long newSize)
Change the maximum size of the pool.

Specified by:
setMaxSize in interface Pool
Parameters:
newSize - the new pool size.

createPoolAccessor

public PoolAccessor createPoolAccessor(PoolParticipant participant,
                                       int maxDepth,
                                       boolean abortWhenMaxDepthExceeded)
Return a PoolAccessor whose consumption is tracked by this pool, using a default SizeOf engine.

Specified by:
createPoolAccessor in interface Pool
Parameters:
participant - the participant which will use the created accessor.
maxDepth - maximum depth of the object graph to traverse
abortWhenMaxDepthExceeded - true if the object traversal should be aborted when the max depth is exceeded
Returns:
a PoolAccessor whose consumption is tracked by this pool.

registerPoolAccessor

public void registerPoolAccessor(PoolAccessor accessor)
Register an accessor implementation with this pool.

Specified by:
registerPoolAccessor in interface Pool
Parameters:
accessor - accessor to be registered

removePoolAccessor

public void removePoolAccessor(PoolAccessor accessor)
Remove the supplied accessor from this pool.

Specified by:
removePoolAccessor in interface Pool
Parameters:
accessor - accessor to be removed

getPoolAccessors

public Collection<PoolAccessor> getPoolAccessors()
Return the participants accessing this pool.

Specified by:
getPoolAccessors in interface Pool
Returns:
participants using this pool

getEvictor

public PoolEvictor getEvictor()
Return the pool evictor used by this pool.

Specified by:
getEvictor in interface Pool
Returns:
the pool evictor

ehcache

Copyright 2001-2015, Terracotta, Inc.