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 java.util.Iterator;
09:
10: /**
11: * Defines a component group service that finds and maintains
12: * <code>IGroupMembers</code> within a composite group service.
13: *
14: * @author Dan Ellentuck
15: * @version $Revision: 34758 $
16: */
17: public interface IIndividualGroupService extends ICompositeGroupService {
18:
19: /**
20: * Answers if <code>group</code> contains <code>member</code>.
21: * @return boolean
22: * @param group org.jasig.portal.groups.IEntityGroup
23: * @param member org.jasig.portal.groups.IGroupMember
24: */
25: public boolean contains(IEntityGroup group, IGroupMember member)
26: throws GroupsException;
27:
28: /**
29: * Removes the <code>IEntityGroup</code> from the store.
30: */
31: public void deleteGroup(IEntityGroup group) throws GroupsException;
32:
33: /**
34: * Returns a preexisting <code>IEntityGroup</code> from the store.
35: * @param ent CompositeEntityIdentifier
36: */
37: public IEntityGroup findGroup(CompositeEntityIdentifier ent)
38: throws GroupsException;
39:
40: /**
41: * Returns an <code>Iterator</code> over the members of <code>group</code>.
42: * @param group IEntityGroup
43: */
44: public Iterator findMembers(IEntityGroup group)
45: throws GroupsException;
46:
47: /**
48: * Answers if the group can be updated or deleted in the store.
49: * @param group IEntityGroup
50: */
51: public boolean isEditable(IEntityGroup group)
52: throws GroupsException;
53:
54: /**
55: * Answers if the service can be updated by the portal.
56: */
57: public boolean isEditable();
58:
59: /**
60: * Returns a new <code>IEntityGroup</code> for the given Class with an unused
61: * key.
62: */
63: public IEntityGroup newGroup(Class type) throws GroupsException;
64:
65: /**
66: * Commits the updated <code>IEntityGroup</code> and its memberships to the
67: * store.
68: * @param group IEntityGroup
69: */
70: public void updateGroup(IEntityGroup group) throws GroupsException;
71:
72: /**
73: * Commits the updated group memberships to the store.
74: * @param group IEntityGroup
75: */
76: public void updateGroupMembers(IEntityGroup group)
77: throws GroupsException;
78: }
|