01: /* Copyright 2001 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;
07:
08: /** An interface that a Servant Channel must implement. A Servant Channel is capable of providing some type of
09: * interactive service within the flow of another Channel's use. Originally designed for CGroupsManager
10: * and CPermissionsManager, which can function both as standalone channels and provide the functions of
11: * selecting groups and people, and assigning permissions to them (respectively) for other channels
12: *
13: * @author Alex Vigdor - av317@columbia.edu
14: * @version $Revision: 34818 $
15: */
16: public interface IServant extends IChannel {
17:
18: /** Allows the Master Channel to ascertain if the Servant has accomplished the requested task
19: * (Note that the way which a certain task is requested is not specified by this interface;
20: * normally it will be documented by a particular IServant and require some particular
21: * configuration paramaters used to initialize the servant)
22: * @return boolean
23: */
24: public boolean isFinished();
25:
26: /** Many servant channels will fulfil their function
27: * by providing some set of 1 or more Objects to the Master
28: * Channel.
29: * @return Object[]
30: * the expected Object type should be documented by the IServant implementation
31: */
32: public Object[] getResults();
33:
34: }
|