01: //The contents of this file are subject to the Mozilla Public License Version 1.1
02: //(the "License"); you may not use this file except in compliance with the
03: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
04: //
05: //Software distributed under the License is distributed on an "AS IS" basis,
06: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
07: //for the specific language governing rights and
08: //limitations under the License.
09: //
10: //The Original Code is "The Columba Project"
11: //
12: //The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14: //
15: //All Rights Reserved.
16: package org.columba.core.command;
17:
18: import org.columba.api.command.ICommandReference;
19: import org.columba.core.base.Lock;
20:
21: /**
22: * Encapsulates the reference for a {@link Command}.
23: *
24: * @author fdietz, tstich
25: */
26: public class DefaultCommandReference implements ICommandReference {
27: /**
28: * a lock to claim access on some resource
29: */
30: protected Lock lock = new Lock();
31:
32: /**
33: * Try to get lock.
34: *
35: * @param locker
36: * the instance who wants to have the lock
37: *
38: * @return true, if locker has got the lock, false otherwise
39: */
40: public boolean tryToGetLock(Object locker) {
41: return lock.tryToGetLock(locker);
42: }
43:
44: /**
45: * Release lock.
46: */
47: public void releaseLock(Object locker) {
48: lock.release(locker);
49: }
50: }
|