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.Map;
09:
10: import javax.naming.Name;
11:
12: /**
13: * Defines a component group service that is part of a composite groups system.
14: * A component contains individual group services, which may themselves be
15: * components.
16: * <p>
17: * The component is only used in the process of composing the composite
18: * service, so it does not define any operations on groups, only on other
19: * components.
20: *
21: * @author Dan Ellentuck
22: * @version $Revision: 34758 $
23: *
24: */
25: public interface IComponentGroupService {
26:
27: /**
28: * Returns a <code>Map</code> of the services contained by this component,
29: * keyed on the name of the service WITHIN THIS COMPONENT.
30: */
31: public Map getComponentServices();
32:
33: /**
34: * Returns the FULLY-QUALIFIED <code>Name</code> of the service, which
35: * may not be known until the composite service is assembled.
36: */
37: public Name getServiceName();
38:
39: /**
40: * Answers if this service is a leaf in the composite; a service that
41: * actually operates on groups.
42: */
43: public boolean isLeafService();
44:
45: /**
46: * Sets the name of the service to the new value.
47: */
48: public void setServiceName(Name newServiceName);
49: }
|