org.codehaus.plexus.util

Class SweeperPool

public class SweeperPool extends Object

Pools a bunch of objects . Runs a sweeper periodically to keep it down to size. The objects in the pool first get disposed first.

Version: $Id: SweeperPool.java 8010 2009-01-07 12:59:50Z vsiveton $

Author: Bert van Brakel

Constructor Summary
SweeperPool(int maxSize, int minSize, int intialCapacity, int sweepInterval, int triggerSize)

There are a number of settings to control how the pool operates.

Method Summary
voiddispose()
Dispose of this pool.
Objectget()
Return the pooled object
intgetSize()
Return the number of pooled objects.
voidobjectAdded(Object obj)
Override this to be notified of object addition.
voidobjectDisposed(Object obj)
Override this to be notified of object disposal.
voidobjectRetrieved(Object obj)
Override this to be notified of object retrieval.
booleanput(Object obj)
Add an object to the pool
voidtrim()
Trim the pool down to min size

Constructor Detail

SweeperPool

public SweeperPool(int maxSize, int minSize, int intialCapacity, int sweepInterval, int triggerSize)

There are a number of settings to control how the pool operates.

Any value less than 0 is automatically converted to 0

Method Detail

dispose

public void dispose()
Dispose of this pool. Stops the sweeper and disposes each object in the pool

get

public Object get()
Return the pooled object

getSize

public int getSize()
Return the number of pooled objects. This is never greater than t maximuim size of the pool

Returns: the number of pooled objects

objectAdded

public void objectAdded(Object obj)
Override this to be notified of object addition. Called before object is to be added.

Parameters: obj

objectDisposed

public void objectDisposed(Object obj)
Override this to be notified of object disposal. Called after the object has been removed. Occurs when the pool is trimmed.

Parameters: obj

objectRetrieved

public void objectRetrieved(Object obj)
Override this to be notified of object retrieval. Called after object removed from the pool, but before returned to the client.

Parameters: obj

put

public boolean put(Object obj)
Add an object to the pool

Parameters: obj the object to pool. Can be null.

Returns: true if the object was added to the pool, false if it was disposed or null

trim

public void trim()
Trim the pool down to min size
Copyright © 2001-2010 Codehaus. All Rights Reserved.