KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > transaction > api > lock > ExclusiveLockFeature


1 /*====================================================================
2
3 ObjectWeb Transaction Working Group API
4 Contact: http://www.objectweb.org
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19 USA
20
21 Initial developer(s): Romain Rouvoy.
22 Contributor(s): ______________________________________.
23
24 ---------------------------------------------------------------------
25 $Id: ExclusiveLockFeature.java,v 1.1.1.1 2003/12/01 15:14:18 rouvoy Exp $
26 ====================================================================*/

27 package org.objectweb.transaction.api.lock;
28
29 /**
30  * Definition of an exclusive Lock.
31  *
32  * @author <a HREF="mailto:Romain.Rouvoy@lifl.fr">Romain Rouvoy</a>
33  * @version 0.1
34  *
35  * @adl.id name="EXCLUSIVE_LOCK_FEATURE" value="exclusive-lock-feature"
36  */

37 public interface ExclusiveLockFeature
38          extends ReleaseLockFeature
39 {
40     /**
41      * ADL Identifier
42      */

43     public static final String JavaDoc EXCLUSIVE_LOCK_FEATURE = "exclusive-lock-feature";
44     
45     /**
46      * Acquire the Lock.
47      * If the Lock is not available, the method wait for the release of the Lock
48      * @param id - the lock requester
49      */

50     public void acquire(LockIdentifier id);
51
52     /**
53      * Try to acquire the Lock.
54      * This is a non-blocking method.
55      * @param id - the lock requester
56      * @return true if the lock is acquired - false if the lock can not be acquired.
57      */

58     public boolean tryAcquire(LockIdentifier id);
59
60     /**
61      * Check if the Lock is acquired.
62      * @param id - the lock requester
63      * @return true if the lock is currently acquired - false if the lock is not acquired.
64      */

65     public boolean isAcquired(LockIdentifier id);
66 }
67
Popular Tags