Activatable.java |
1 /** 2 * Distribution License: 3 * JSword is free software; you can redistribute it and/or modify it under 4 * the terms of the GNU Lesser General Public License, version 2.1 or later 5 * as published by the Free Software Foundation. This program is distributed 6 * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 7 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8 * See the GNU Lesser General Public License for more details. 9 * 10 * The License is available on the internet at: 11 * http://www.gnu.org/copyleft/lgpl.html 12 * or by writing to: 13 * Free Software Foundation, Inc. 14 * 59 Temple Place - Suite 330 15 * Boston, MA 02111-1307, USA 16 * 17 * © CrossWire Bible Society, 2005 - 2016 18 * 19 */ 20 package org.crosswire.common.activate; 21 22 /** 23 * A class can be Activatable if it needs a significant amount of memory on an 24 * irregular basis, and so would benefit from being told when to wake-up and 25 * when to conserver memory. 26 * 27 * @see gnu.lgpl.License The GNU Lesser General Public License for details. 28 * @author Joe Walker 29 */ 30 public interface Activatable { 31 /** 32 * Called to indicate that the Book should initialize itself, and consume 33 * whatever system resources it needs to be able to respond to other 34 * queries. 35 * 36 * @param lock 37 * An attempt to ensure that only the Activator calls this method 38 */ 39 void activate(Lock lock); 40 41 /** 42 * Called to indicate that the Book should release whatever system resources 43 * it can to make way for other uses. 44 * 45 * @param lock 46 * An attempt to ensure that only the Activator calls this method 47 */ 48 void deactivate(Lock lock); 49 } 50