/* * @(#)TextAreaFigure.java * * Project: JHotdraw - a GUI framework for technical drawings * http://www.jhotdraw.org * http://jhotdraw.sourceforge.net * Copyright: © by the original author(s) and all contributors * License: Lesser GNU Public License (LGPL) * http://www.opensource.org/licenses/lgpl-license.html */ package CH.ifa.draw.contrib.html; import java.util.Iterator; /** * DisposableResourceManager defines the interface for managers of disposable * resources.
* A DisposableResourceManager implements a strategy for efficient disposal * of seldom used resources. * * @author Eduardo Francos - InContext * @created 2 mai 2002 * @version 1.0 */ public interface DisposableResourceManager { /** * Registers a resource with the manager so as to be disposed * * @param resource the resource */ public void registerResource(DisposableResourceHolder resource); /** * Unregisters a resource so it is not automatically GCed.
* * @param resource the resource */ public void unregisterResource(DisposableResourceHolder resource); /** * Returns an iterator on the managed resources * * @return The resources iterator */ public Iterator getResources(); /** * True if the resource is registered with this manager * * @param resource The resource * @return True if the resource is registered with this manager */ public boolean managesResource(DisposableResourceHolder resource); /** * Activates the strategy which starts disposing of resources as fitted * * @exception ResourceManagerNotSetException Description of the Exception */ public void startDisposing() throws ResourceManagerNotSetException; /** * Deactivates the strategy that stops automatic disposal of resource.
* The millis parameters specifies in milliseconds the time to wait for * the disposal to stop. After this time the method returns whether the * disposal was stopped or not, but the desactivation request remains active. * * @param millis time to wait for disposal to stop */ public void stopDisposing(long millis); }