1 10 package org.jgap.impl; 11 12 import java.util.*; 13 14 32 public class Pool { 33 34 35 private final static String CVS_REVISION = "$Revision: 1.8 $"; 36 37 40 private List m_pooledObjects; 41 42 48 public Pool() { 49 m_pooledObjects = Collections.synchronizedList(new ArrayList()); 50 } 51 52 64 public synchronized Object acquirePooledObject() { 65 if (m_pooledObjects.isEmpty()) { 66 return null; 67 } 68 else { 69 return m_pooledObjects.remove(m_pooledObjects.size() - 1); 75 } 76 } 77 78 87 public synchronized void releaseObject(final Object a_objectToPool) { 88 m_pooledObjects.add(a_objectToPool); 89 } 90 91 101 public synchronized void releaseAllObjects(final Collection a_objectsToPool) { 102 if (a_objectsToPool != null) { 103 m_pooledObjects.addAll(a_objectsToPool); 104 } 105 } 106 107 115 public synchronized int size() { 116 return m_pooledObjects.size(); 117 } 118 119 125 public synchronized void clear() { 126 m_pooledObjects.clear(); 127 } 128 } 129 | Popular Tags |