01: /* Copyright 2001, 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: /**
09: * Extends IGroupService with methods for finding and maintaining
10: * <code>ILockableEntityGroups</code>.
11: *
12: * @author Dan Ellentuck
13: * @version $Revision: 34758 $
14: */
15: public interface ILockableGroupService extends IGroupService {
16:
17: /**
18: * Removes the <code>ILockableEntityGroup</code> from the store.
19: */
20: public void deleteGroup(ILockableEntityGroup group)
21: throws GroupsException;
22:
23: /**
24: * Returns a pre-existing <code>ILockableEntityGroup</code> or null if the
25: * group is not found.
26: * @return org.jasig.portal.groups.ILockableEntityGroup
27: * @param key String - the group key.
28: * @param owner String - the lock owner.
29: */
30: public ILockableEntityGroup findGroupWithLock(String key,
31: String owner) throws GroupsException;
32:
33: /**
34: * Returns a pre-existing <code>ILockableEntityGroup</code> or null if the
35: * group is not found.
36: * @return org.jasig.portal.groups.ILockableEntityGroup
37: * @param key String - the group key.
38: * @param owner String - the lock owner.
39: * @param durationSecs int - the duration of the lock in seconds.
40: */
41: public ILockableEntityGroup findGroupWithLock(String key,
42: String owner, int durationSecs) throws GroupsException;
43:
44: /**
45: * Commits the updated <code>ILockableEntityGroup</code> to the store.
46: */
47: public void updateGroup(ILockableEntityGroup group)
48: throws GroupsException;
49:
50: /**
51: * Commits the updated <code>ILockableEntityGroup</code> to the store.
52: */
53: public void updateGroupMembers(ILockableEntityGroup group)
54: throws GroupsException;
55:
56: /**
57: * Commits the updated <code>ILockableEntityGroup</code> to the store and
58: * renews the lock.
59: */
60: public void updateGroup(ILockableEntityGroup group,
61: boolean renewLock) throws GroupsException;
62:
63: /**
64: * Commits the updated <code>ILockableEntityGroup</code> to the store and
65: * renews the lock.
66: */
67: public void updateGroupMembers(ILockableEntityGroup group,
68: boolean renewLock) throws GroupsException;
69: }
|