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 }