01: /* Copyright 2006 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.channels.jsp;
07:
08: /**
09: * An interface that an instance of IController for the jsp channel type must
10: * implement to be used within the ServantChannel subclass of the jsp channel
11: * type and hence can provide servant capabilities. This interface provides the
12: * same functionality for the jsp channel type that IServant does for IChannel.
13: *
14: * @author Mark Boyd
15: * @version $Revision: 36783 $
16: */
17: public interface IServantController {
18:
19: /**
20: * Enables the containing channel to change configuration of the servant if
21: * supported by the servant channel at any point in time. If this method is
22: * called the servant must discard its current state and reconfigure itself
23: * according to the information passed in via this method. The type of
24: * object allowed for a given servant must be information obtained from
25: * documentation or other means.
26: *
27: * @param o
28: */
29: public void configure(Object o);
30:
31: /**
32: * Allows the Master Channel to ascertain if the Servant has accomplished
33: * the requested task (Note that the way which a certain task is requested
34: * can be specified by this interface or through some particular
35: * configuration paramaters used to initialize the servant.)
36: *
37: * @return boolean
38: */
39: public boolean isFinished();
40:
41: /**
42: * Many servant channels will fulfill their function by providing some set of
43: * 1 or more Objects to the Master Channel.
44: *
45: * @return Object[] the expected Object type should be documented by the
46: * IServant implementation
47: */
48: public Object[] getResults();
49: }
|