01: /*
02:
03: This software is OSI Certified Open Source Software.
04: OSI Certified is a certification mark of the Open Source Initiative.
05:
06: The license (Mozilla version 1.0) can be read at the MMBase site.
07: See http://www.MMBase.org/license
08:
09: */
10: package org.mmbase.module;
11:
12: import java.util.*;
13: import org.mmbase.module.core.*;
14: import org.mmbase.util.*;
15:
16: /**
17: * @javadoc
18: * @deprecated
19: */
20: public interface ProcessorInterface {
21:
22: /**
23: * Used to create node lists from the results returned by {@link #getList}.
24: * The default method does not associate the builder with a cloud (mmbase module),
25: * so processormodules that need this association need to override this method.
26: * Note that different lists may return different builders.
27: * @param command the LIST command for which to retrieve the builder
28: * @param params contains the attributes for the list
29: */
30: public MMObjectBuilder getListBuilder(String command,
31: Map<String, Object> params);
32:
33: /**
34: * Generate a list of values from a command to the processor.
35: * The values are grouped into nodes.
36: * @param context the context of the page or calling application (currently, this should be a PageInfo object)
37: * @param command the list command to execute.
38: * @param params contains the attributes for the list
39: * @return a <code>Vector</code> that contains the list values contained in MMObjectNode objects
40: */
41: public Vector<MMObjectNode> getNodeList(Object context,
42: String command, Map<String, Object> params);
43:
44: /**
45: * Generate a list of values from a command to the processor.
46: * @param context the page context
47: * @param tagger contains the attributes for the list
48: * @param command the list command to execute.
49: */
50: public Vector<String> getList(PageInfo context,
51: StringTagger tagger, String command);
52:
53: /**
54: * Execute the commands provided in the form values.
55: * @param context the page context
56: * @param cmds contains the list of commands to run
57: * @param vars contains the attributes for the process
58: */
59: public boolean process(PageInfo context,
60: Hashtable<String, Object> cmds,
61: Hashtable<String, Object> vars);
62:
63: /**
64: * Replace a command by a string.
65: * @param context the page context
66: * @param command the command to execute.
67: */
68: public String replace(PageInfo context, String command);
69:
70: /**
71: * Replace a command by a string.
72: * @param context the page context
73: * @param command the command to execute
74: */
75: public String replace(PageInfo context, StringTagger command);
76:
77: /**
78: * Do a cache check (304) for this request.
79: * @param context the page context
80: * @param command the command to execute.
81: */
82: public boolean cacheCheck(PageInfo context, String command);
83: }
|