/* * @(#) TrimToSizeable.java - Interface for object 'trim-to-size'. * (c) 2000 Ivan Maidanski http://ivmai.chat.ru * Freeware class library sources. All rights reserved. ** * Language: Java [pure] * Tested with: JDK v1.1.6 * Last modified: 2000-12-13 20:55:00 GMT+03:00 */ /* * This software is the proprietary information of the author. ** * Permission to use, copy, and distribute this software and its * documentation for non-commercial purposes and without fee is * hereby granted provided that this copyright notice appears in all * copies. ** * This software should not be modified in any way; any found bug * should be reported to the author. ** * The author disclaims all warranties with regard to this software, * including all implied warranties of merchantability and fitness. * In no event shall the author be liable for any special, indirect * or consequential damages or any damages whatsoever resulting from * loss of use, data or profits, whether in an action of contract, * negligence or other tortuous action, arising out of or in * connection with the use or performance of this software. */ package ivmai.util; /** * Interface for object 'trim-to-size'. ** * A class implementing this interface allows the user to release * all extra memory occupied by the object of such class. ** * @version 2.0 * @author Ivan Maidanski */ public interface TrimToSizeable { /** * Frees extra memory. ** * This method re-allocates internal structures (of the object) * releasing occupied but unused memory. By default, shallow * 'trim-to-size' is performed. Important notes: this method must be * synchronized outside (typically); OutOfMemoryError * is never thrown (should be ignored inside the method). */ public abstract void trimToSize(); }