01: /**
02: * Implementation does some additional response
03: * processing before its returned to the client.
04: *
05: * It is included in application - response processing
06: * chain and it should be configurable from application
07: * configuration!
08: */package org.enhydra.util;
09:
10: import org.enhydra.xml.io.OutputOptions;
11: import org.w3c.dom.Node;
12:
13: import com.lutris.logging.LogChannel;
14: import com.lutris.util.Config;
15:
16: /**
17: * @author Slobodan Vujasinovic
18: *
19: */
20: public interface ResponsePostProcessor extends Cloneable {
21:
22: /**
23: * Configures postprocessor instance according to Config object passed
24: * @param config
25: */
26: public void configure(Config config);
27:
28: /**
29: * Implemented method should execute required response post-processing functions
30: * on document object passed.
31: *
32: * @param props Some additional configuration parameters set from PO itself
33: * @param document document object to process
34: * @return processed document
35: */
36: public Node process(OutputOptions oo, Node document);
37:
38: /**
39: * Implemented method should execute required response post-processing functions
40: * on document object passed.
41: *
42: * @param buteArray
43: * @param mimeEncoding
44: * @param mimeType
45: * @return
46: */
47: public byte[] process(byte[] buteArray, String mimeEncoding,
48: String mimeType);
49:
50: /**
51: * Sets name this post processor
52: *
53: * @param name
54: */
55: public void setName(String name);
56:
57: /**
58: * Returns name of this post processor
59: *
60: * @return
61: */
62: public String getName();
63:
64: /**
65: * Should I process this Mime Type
66: *
67: * @param mimeType
68: * @return
69: */
70: public boolean shouldProcess(String mimeType);
71:
72: /**
73: * Sets post processor logging channel
74: *
75: * @param logChannel
76: */
77: public void setLogChannel(LogChannel logChannel);
78:
79: /**
80: * Returns post processor logging channel
81: *
82: * @return
83: */
84: public LogChannel getLogChannel();
85:
86: /**
87: * Returns post processor resulting mime type
88: *
89: * @return
90: */
91: public String getOutputMimeType();
92:
93: /**
94: * Returns post processor instance
95: *
96: * @return
97: */
98: public Object clone();
99: }
|