01: /**
02: * Implementation does some additional request
03: * processing before its access to the PO object.
04: *
05: * It is included in application - request processing
06: * chain and it should be configurable from app
07: * configuration!
08: */package org.enhydra.util;
09:
10: import com.lutris.appserver.server.httpPresentation.HttpPresentationComms;
11: import com.lutris.logging.LogChannel;
12: import com.lutris.util.Config;
13:
14: /**
15: * @author Slobodan Vujasinovic
16: *
17: */
18: public interface RequestPreProcessor extends Cloneable {
19:
20: /**
21: * Configures preprocessor instance according to Config object passed
22: * @param config
23: */
24: public void configure(Config config);
25:
26: /**
27: * Implemented method should execute required request preprocessing functions
28: * on comms object passed.
29: *
30: * @param comms
31: * @return Return true if request handling is done
32: */
33: public boolean process(HttpPresentationComms comms);
34:
35: /**
36: * Sets name this pre processor
37: *
38: * @param name
39: */
40: public void setName(String name);
41:
42: /**
43: * Returns name of this pre processor
44: *
45: * @return
46: */
47: public String getName();
48:
49: /**
50: * Sets pre processor logging channel
51: *
52: * @param logChannel
53: */
54: public void setLogChannel(LogChannel logChannel);
55:
56: /**
57: * Returns pre processor logging channel
58: *
59: * @return
60: */
61: public LogChannel getLogChannel();
62:
63: /**
64: * Returns pre processor instance
65: *
66: * @return
67: */
68: public Object clone();
69: }
|