1 package org.apache.turbine.util.pool;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 /***
23 * An interface for objects that can be pooled and
24 * recycled several times by different clients.
25 *
26 * @author <a href="mailto:ilkka.priha@simsoft.fi">Ilkka Priha</a>
27 * @version $Id: Recyclable.java 534527 2007-05-02 16:10:59Z tv $
28 */
29 public interface Recyclable
30 {
31 /***
32 * Recycles the object for a new client. Recycle methods with
33 * parameters must be added to implementing object and they will be
34 * automatically called by pool implementations when the object is
35 * taken from the pool for a new client. The parameters must
36 * correspond to the parameters of the constructors of the object.
37 * For new objects, constructors can call their corresponding recycle
38 * methods whenever applicable.
39 * The recycle methods must call their super.
40 */
41 void recycle();
42
43 /***
44 * Disposes the object after use. The method is called
45 * when the object is returned to its pool.
46 * The dispose method must call its super.
47 */
48 void dispose();
49
50 /***
51 * Checks whether the recyclable has been disposed.
52 * @return true, if the recyclable is disposed.
53 */
54 boolean isDisposed();
55 }