001/* ----------------------------------------------------------------------------
002   The Kiwi Toolkit - A Java Class Library
003   Copyright (C) 1998-2004 Mark A. Lindner
004
005   This library is free software; you can redistribute it and/or
006   modify it under the terms of the GNU General Public License as
007   published by the Free Software Foundation; either version 2 of the
008   License, or (at your option) any later version.
009
010   This library is distributed in the hope that it will be useful,
011   but WITHOUT ANY WARRANTY; without even the implied warranty of
012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013   General Public License for more details.
014
015   You should have received a copy of the GNU General Public License
016   along with this library; if not, write to the Free Software
017   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
018   02111-1307, USA.
019 
020   The author may be contacted at: mark_a_lindner@yahoo.com
021   ----------------------------------------------------------------------------
022   $Log: Resource.java,v $
023   Revision 1.5  2004/05/05 21:22:45  markl
024   Comment header updates.
025
026   Revision 1.4  2003/01/19 09:42:39  markl
027   Javadoc & comment header updates.
028
029   Revision 1.3  2001/03/12 03:16:49  markl
030   *** empty log message ***
031
032   Revision 1.2  1999/04/23 07:32:57  markl
033   Removed unneeded method.
034
035   Revision 1.1  1999/04/19 05:32:24  markl
036   Initial revision
037   ----------------------------------------------------------------------------
038*/
039
040package kiwi.util;
041
042/** An interface that describes a <i>resource</i>. A resource is an exclusive
043 * entity that may be in use by one thread at a time; a thread must reserve a
044 *  resource from a resource pool, use the resource, and then release the
045 * resource so that it may be used by another thread.
046 *
047 * @see kiwi.util.ResourcePool
048 * 
049 * @author Mark Lindner
050 */
051
052public interface Resource
053  {
054  /** Reserve the resource. */
055  
056  public void reserve();
057
058  /** Release the resource. */
059  
060  public void release();
061  }
062
063/* end of source file */