01: /* Copyright 2002 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.groups;
07:
08: import org.jasig.portal.concurrency.IEntityLock;
09:
10: /**
11: * Defines an <code>IEntityGroup</code> that can be locked for update.
12: * <p>
13: * @author Dan Ellentuck
14: * @version $Revision: 34758 $
15: */
16:
17: public interface ILockableEntityGroup extends IEntityGroup {
18: /**
19: * @return org.jasig.portal.concurrency.IEntityLock
20: */
21: public IEntityLock getLock();
22:
23: /**
24: * @param lock org.jasig.portal.concurrency.IEntityLock
25: */
26: public void setLock(IEntityLock lock);
27:
28: /**
29: * Updates the group and its members and renews the lock.
30: */
31: public void updateAndRenewLock() throws GroupsException;
32:
33: /**
34: * Updates the members and renews the lock.
35: */
36: public void updateMembersAndRenewLock() throws GroupsException;
37: }
|