01: package uk.org.ponder.rsf.view;
02:
03: import uk.org.ponder.rsf.components.UIContainer;
04: import uk.org.ponder.rsf.viewstate.ViewParameters;
05:
06: // This honorary comment left in honour of Hans Bergsten, who suggested
07: // as loudly as he could that JSF could be better (see Chapter 15!).
08: ///**
09: // * This interface must be implemented by classes representing a view for the
10: // * ClassViewHandler.
11: // *
12: // * @author Hans Bergsten, Gefion Software <hans@gefionsoftware.com>
13: // * @version 1.0
14: // */
15: /** A "static", that is, application scope component producer. The common
16: * arguments are supplied to give the producer as good a chance as possible
17: * of not requiring any request-scope dependencies.
18: */
19: public interface ComponentProducer {
20: /** @param tofill The container into which produced components will be inserted.
21: * @param viewparams The view parameters specifying the currently rendering view
22: * @param checker A ComponentChecker (actually an interface into a ViewTemplate)
23: * that can be used by the producer to "short-circuit" the production of
24: * potentially expensive components if they are not present in the chosen
25: * template for this view. Since the IKAT algorithm cannot run at this time, it
26: * is currently only economic to check components that are present at the root
27: * level of the template, but these are the most likely to be expensive.
28: */
29: public void fillComponents(UIContainer tofill,
30: ViewParameters viewparams, ComponentChecker checker);
31: }
|