01: /*
02: * Created on 5 Feb 2007
03: */
04: package uk.org.ponder.rsf.flow;
05:
06: import uk.org.ponder.rsf.viewstate.ViewParameters;
07:
08: /** A "user-level" interface for clients who need more fine-grained control
09: * over allocating outgoing URL state in action cycles.
10: *
11: * Unlike {@link ActionResultInterpreter}, ALL registered ActionResultInterceptors
12: * are polled during the cycle. Also, a ViewProducer may directly implement
13: * ActionResultInterceptor to indicate it is happy to be constructed during
14: * an action cycle to serve this role.
15: * @since 0.7.1
16: * @author Antranig Basman (antranig@caret.cam.ac.uk)
17: *
18: */
19:
20: public interface ActionResultInterceptor {
21: /**
22: * @param result The required result from this action cycle, which is in the
23: * process of determination. May already contain some determined URL state,
24: * for example a ViewParams with viewId, but may be overwritten by this
25: * interceptor.
26: * @param incoming The URL state for the view which generated this
27: * action cycle.
28: * @param actionReturn The return from any action method invoked on this
29: * cycle. Should be a String, although may be <code>null</code> if there was
30: * no return or no method.
31: */
32: public void interceptActionResult(ARIResult result,
33: ViewParameters incoming, Object actionReturn);
34: }
|