/*
 * Copyright (c) 2004-2017, by Alex Leigh.
 * All rights reserved.
 *
 * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE
 * The copyright notice above does not evidence any
 * actual or intended publication of such source code.
 */

package lc.mecha.pool;

/**
 * Objects implementing this interface are interested in receiving their parent <code>ObjectPool</code> when used
 * with the A6V pooling API.
 *
 * @author Alex Leigh
 */
public interface PoolObject {
    /**
     * Set the parent pool for this object. This is the pool that the object should be returned to via the
     * <code>ObjectPool.checkIn()</code> method. This setter will be called by <code>ObjectPool</code> immediately
     * after it creates the object.
     *
     * @param pool
     */
    void setPool(ObjectPool pool);
}
