001 /* 002 * (c) 2005, 2009, 2010 ThoughtWorks Ltd 003 * All rights reserved. 004 * 005 * The software in this package is published under the terms of the BSD 006 * style license a copy of which has been included with this distribution in 007 * the LICENSE.txt file. 008 * 009 * Created on 02-Aug-2005 010 */ 011 package com.thoughtworks.proxy.kit; 012 013 /** 014 * Interface for a resetter component. This will automatically reset the state of the pooled element, when it is 015 * returned to the pool. 016 * 017 * @author Jörg Schaible 018 * @since 0.2 019 */ 020 public interface Resetter<T> { 021 /** 022 * Reset the pooled object. The implementation may do anything to reset the state of the pooled element. If the 023 * element is definitely exhausted, a return value of <code>false</code> prevents the element from returning into 024 * the pool and the instance is garbage collected. 025 * 026 * @param object the object to reset 027 * @return <code>true</code> if the element can be used for further tasks. 028 * @since 0.2 029 */ 030 boolean reset(T object); 031 }