001 // Java tool interface class ModuleManagerTool
002 // This file is generated automatically, please do not edit!
003 // generation time: Mar 7, 2007 10:19:46 AM
004
005 package nl.cwi.sen1.modulemanager;
006
007 import java.util.HashSet;
008 import java.util.List;
009 import java.util.Set;
010
011 import toolbus.AbstractTool;
012
013 import aterm.ATerm;
014 import aterm.ATermAppl;
015 import aterm.ATermFactory;
016 import aterm.ATermList;
017
018 abstract public class ModuleManagerTool
019 extends AbstractTool
020 implements ModuleManagerTif
021 {
022 // This table will hold the complete input signature
023 private Set<ATerm> sigTable = new HashSet<ATerm>();
024
025 // Patterns that are used to match against incoming terms
026 private ATerm PdeleteDependencies0;
027 private ATerm PaddDependency0;
028 private ATerm PdeleteModule0;
029 private ATerm PdeleteAttribute0;
030 private ATerm PdeleteDependency0;
031 private ATerm PaddAttribute0;
032 private ATerm PregisterAttributeUpdateRule0;
033 private ATerm PgetAttribute0;
034 private ATerm PgetAllAttributes0;
035 private ATerm PgetDependencies0;
036 private ATerm PgetChildrenModules0;
037 private ATerm PgetAllParentModules0;
038 private ATerm PgetClosableModules0;
039 private ATerm PgetAllChildrenModules0;
040 private ATerm PgetAllModules0;
041 private ATerm PcreateModule0;
042 private ATerm PgetModuleIdByAttribute0;
043 private ATerm PgetModuleGraph0;
044 private ATerm PgetParentModules0;
045 private ATerm PrecAckEvent0;
046 private ATerm PrecTerminate0;
047
048 // Mimic the constructor from the AbstractTool class
049 protected ModuleManagerTool(ATermFactory factory)
050 {
051 super(factory);
052 initSigTable();
053 initPatterns();
054 }
055
056 // This method initializes the table with input signatures
057 private void initSigTable()
058 {
059 sigTable.add(factory.parse("rec-eval(<module-manager>,create-module)"));
060 sigTable.add(factory.parse("rec-eval(<module-manager>,get-module-id-by-attribute(<term>,<term>,<term>))"));
061 sigTable.add(factory.parse("rec-eval(<module-manager>,get-all-modules)"));
062 sigTable.add(factory.parse("rec-do(<module-manager>,delete-module(<module-id>))"));
063 sigTable.add(factory.parse("rec-do(<module-manager>,register-attribute-update-rule(<term>,<term>,<term>,<term>))"));
064 sigTable.add(factory.parse("rec-do(<module-manager>,add-attribute(<module-id>,<term>,<term>,<term>))"));
065 sigTable.add(factory.parse("rec-ack-event(<module-manager>,<term>)"));
066 sigTable.add(factory.parse("rec-eval(<module-manager>,get-attribute(<module-id>,<term>,<term>))"));
067 sigTable.add(factory.parse("rec-eval(<module-manager>,get-all-attributes(<module-id>))"));
068 sigTable.add(factory.parse("rec-do(<module-manager>,delete-attribute(<module-id>,<term>,<term>))"));
069 sigTable.add(factory.parse("rec-do(<module-manager>,add-dependency(<module-id>,<module-id>))"));
070 sigTable.add(factory.parse("rec-eval(<module-manager>,get-children-modules(<module-id>))"));
071 sigTable.add(factory.parse("rec-eval(<module-manager>,get-all-children-modules(<module-id>))"));
072 sigTable.add(factory.parse("rec-eval(<module-manager>,get-all-parent-modules(<module-id>))"));
073 sigTable.add(factory.parse("rec-eval(<module-manager>,get-parent-modules(<module-id>))"));
074 sigTable.add(factory.parse("rec-eval(<module-manager>,get-closable-modules(<module-id>))"));
075 sigTable.add(factory.parse("rec-do(<module-manager>,delete-dependency(<module-id>,<module-id>))"));
076 sigTable.add(factory.parse("rec-eval(<module-manager>,get-dependencies)"));
077 sigTable.add(factory.parse("rec-do(<module-manager>,delete-dependencies(<module-id>))"));
078 sigTable.add(factory.parse("rec-eval(<module-manager>,get-module-graph(<term>))"));
079 sigTable.add(factory.parse("rec-terminate(<module-manager>,<term>)"));
080 }
081
082 // Initialize the patterns that are used to match against incoming terms
083 private void initPatterns()
084 {
085 PdeleteDependencies0 = factory.parse("rec-do(delete-dependencies(<term>))");
086 PaddDependency0 = factory.parse("rec-do(add-dependency(<term>,<term>))");
087 PdeleteModule0 = factory.parse("rec-do(delete-module(<term>))");
088 PdeleteAttribute0 = factory.parse("rec-do(delete-attribute(<term>,<term>,<term>))");
089 PdeleteDependency0 = factory.parse("rec-do(delete-dependency(<term>,<term>))");
090 PaddAttribute0 = factory.parse("rec-do(add-attribute(<term>,<term>,<term>,<term>))");
091 PregisterAttributeUpdateRule0 = factory.parse("rec-do(register-attribute-update-rule(<term>,<term>,<term>,<term>))");
092 PgetAttribute0 = factory.parse("rec-eval(get-attribute(<term>,<term>,<term>))");
093 PgetAllAttributes0 = factory.parse("rec-eval(get-all-attributes(<term>))");
094 PgetDependencies0 = factory.parse("rec-eval(get-dependencies)");
095 PgetChildrenModules0 = factory.parse("rec-eval(get-children-modules(<term>))");
096 PgetAllParentModules0 = factory.parse("rec-eval(get-all-parent-modules(<term>))");
097 PgetClosableModules0 = factory.parse("rec-eval(get-closable-modules(<term>))");
098 PgetAllChildrenModules0 = factory.parse("rec-eval(get-all-children-modules(<term>))");
099 PgetAllModules0 = factory.parse("rec-eval(get-all-modules)");
100 PcreateModule0 = factory.parse("rec-eval(create-module)");
101 PgetModuleIdByAttribute0 = factory.parse("rec-eval(get-module-id-by-attribute(<term>,<term>,<term>))");
102 PgetModuleGraph0 = factory.parse("rec-eval(get-module-graph(<term>))");
103 PgetParentModules0 = factory.parse("rec-eval(get-parent-modules(<term>))");
104 PrecAckEvent0 = factory.parse("rec-ack-event(<term>)");
105 PrecTerminate0 = factory.parse("rec-terminate(<term>)");
106 }
107
108 // The generic handler calls the specific handlers
109 public ATerm handler(ATerm term)
110 {
111 List<?> result;
112
113 result = term.match(PdeleteDependencies0);
114 if (result != null) {
115 deleteDependencies((ATerm)result.get(0));
116 return null;
117 }
118 result = term.match(PaddDependency0);
119 if (result != null) {
120 addDependency((ATerm)result.get(0), (ATerm)result.get(1));
121 return null;
122 }
123 result = term.match(PdeleteModule0);
124 if (result != null) {
125 deleteModule((ATerm)result.get(0));
126 return null;
127 }
128 result = term.match(PdeleteAttribute0);
129 if (result != null) {
130 deleteAttribute((ATerm)result.get(0), (ATerm)result.get(1), (ATerm)result.get(2));
131 return null;
132 }
133 result = term.match(PdeleteDependency0);
134 if (result != null) {
135 deleteDependency((ATerm)result.get(0), (ATerm)result.get(1));
136 return null;
137 }
138 result = term.match(PaddAttribute0);
139 if (result != null) {
140 addAttribute((ATerm)result.get(0), (ATerm)result.get(1), (ATerm)result.get(2), (ATerm)result.get(3));
141 return null;
142 }
143 result = term.match(PregisterAttributeUpdateRule0);
144 if (result != null) {
145 registerAttributeUpdateRule((ATerm)result.get(0), (ATerm)result.get(1), (ATerm)result.get(2), (ATerm)result.get(3));
146 return null;
147 }
148 result = term.match(PgetAttribute0);
149 if (result != null) {
150 return getAttribute((ATerm)result.get(0), (ATerm)result.get(1), (ATerm)result.get(2));
151 }
152 result = term.match(PgetAllAttributes0);
153 if (result != null) {
154 return getAllAttributes((ATerm)result.get(0));
155 }
156 result = term.match(PgetDependencies0);
157 if (result != null) {
158 return getDependencies();
159 }
160 result = term.match(PgetChildrenModules0);
161 if (result != null) {
162 return getChildrenModules((ATerm)result.get(0));
163 }
164 result = term.match(PgetAllParentModules0);
165 if (result != null) {
166 return getAllParentModules((ATerm)result.get(0));
167 }
168 result = term.match(PgetClosableModules0);
169 if (result != null) {
170 return getClosableModules((ATerm)result.get(0));
171 }
172 result = term.match(PgetAllChildrenModules0);
173 if (result != null) {
174 return getAllChildrenModules((ATerm)result.get(0));
175 }
176 result = term.match(PgetAllModules0);
177 if (result != null) {
178 return getAllModules();
179 }
180 result = term.match(PcreateModule0);
181 if (result != null) {
182 return createModule();
183 }
184 result = term.match(PgetModuleIdByAttribute0);
185 if (result != null) {
186 return getModuleIdByAttribute((ATerm)result.get(0), (ATerm)result.get(1), (ATerm)result.get(2));
187 }
188 result = term.match(PgetModuleGraph0);
189 if (result != null) {
190 return getModuleGraph((ATerm)result.get(0));
191 }
192 result = term.match(PgetParentModules0);
193 if (result != null) {
194 return getParentModules((ATerm)result.get(0));
195 }
196 result = term.match(PrecAckEvent0);
197 if (result != null) {
198 recAckEvent((ATerm)result.get(0));
199 return null;
200 }
201 result = term.match(PrecTerminate0);
202 if (result != null) {
203 recTerminate((ATerm)result.get(0));
204 return null;
205 }
206
207 notInInputSignature(term);
208 return null;
209 }
210
211 // Check the input signature
212 public void checkInputSignature(ATermList sigs)
213 {
214 while(!sigs.isEmpty()) {
215 ATermAppl sig = (ATermAppl)sigs.getFirst();
216 sigs = sigs.getNext();
217 if (!sigTable.contains(sig)) {
218 // Sorry, but the term is not in the input signature!
219 notInInputSignature(sig);
220 }
221 }
222 }
223
224 // This function is called when an input term
225 // was not in the input signature.
226 void notInInputSignature(ATerm t)
227 {
228 throw new RuntimeException("term not in input signature: " + t);
229 }
230 }