KickJava   Java API By Example, From Geeks To Geeks.

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


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: ModeLockFeature.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 a mode Lock.
31  * A possible specialisation is the Read/Write model.
32  *
33  * @author <a HREF="mailto:Romain.Rouvoy@lifl.fr">Romain Rouvoy</a>
34  * @version 0.1
35  *
36  * @adl.id name="MODE_LOCK_FEATURE" value="mode-lock-feature"
37  */

38 public interface ModeLockFeature
39          extends ReleaseLockFeature
40 {
41     /**
42      * ADL Identifier
43      */

44     public static final String JavaDoc MODE_LOCK_FEATURE = "mode-lock-feature";
45         
46     /**
47      * Acquire the Lock with a specific mode.
48      * If the Lock is not available, the method wait for the release of the Lock.
49      * @param id - the lock requester.
50      * @param mode - the requested mode of lock.
51      */

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

61     public boolean tryAcquire(LockIdentifier id, LockMode mode);
62
63     /**
64      * Check if the Lock is acquired.
65      * @param id - the lock requester.
66      * @param mode - the requested lock mode.
67      * @return true if the lock is currently acquired - false if the lock is not acquired.
68      */

69     public boolean isAcquired(LockIdentifier id, LockMode mode);
70 }
71
Popular Tags