2 using System.Collections;
3 using System.Collections.Specialized;
7 namespace Commons.Xml.Nvdl
9 internal class NvdlCompileContext
14 Hashtable compiledModes = new Hashtable ();
15 Hashtable modeContexts = new Hashtable ();
16 Hashtable cancelledRules = new Hashtable ();
17 Hashtable ruleContexts = new Hashtable ();
19 public NvdlCompileContext (NvdlRules rules, NvdlConfig config, XmlResolver resolver)
23 this.resolver = resolver;
26 public NvdlRules Rules {
30 public NvdlConfig Config {
31 get { return config; }
34 internal XmlResolver XmlResolver {
35 get { return resolver; }
38 internal void AddCompiledMode (string name, SimpleMode m)
40 compiledModes.Add (m.Name, m);
43 internal void AddCompiledMode (NvdlModeUsage u, SimpleMode m)
45 compiledModes.Add (u, m);
48 internal void AddCompiledMode (NvdlContext c, SimpleMode m)
50 compiledModes.Add (c, m);
53 internal SimpleMode GetCompiledMode (string name)
55 return compiledModes [name] as SimpleMode;
58 internal SimpleMode GetCompiledMode (NvdlModeUsage u)
60 return compiledModes [u] as SimpleMode;
63 internal SimpleMode GetCompiledMode (NvdlContext c)
65 return compiledModes [c] as SimpleMode;
68 internal ICollection GetCompiledModes ()
70 return compiledModes.Values;
73 internal NvdlModeCompileContext GetModeContext (SimpleMode m)
75 return modeContexts [m] as NvdlModeCompileContext;
78 internal void AddModeContext (SimpleMode m,
79 NvdlModeCompileContext mctx)
81 modeContexts.Add (m, mctx);
84 internal NvdlRule GetRuleContext (SimpleRule r)
86 return ruleContexts [r] as NvdlRule;
89 internal void AddRuleContext (SimpleRule r, NvdlRule rctx)
91 ruleContexts.Add (r, rctx);
94 public Hashtable CancelledRules {
95 get { return cancelledRules; }
99 internal class NvdlModeCompileContext
104 public NvdlModeCompileContext (NvdlModeBase mode)
107 included = new ArrayList ();
110 public ArrayList Included {
111 get { return included; }