001 // Java tool interface class EditorPluginTool 002 // This file is generated automatically, please do not edit! 003 // generation time: Mar 7, 2007 4:16:27 PM 004 005 package nl.cwi.sen1.gui.plugin; 006 007 import java.util.HashSet; 008 import java.util.List; 009 import java.util.Set; 010 011 import toolbus.SwingTool; 012 013 import aterm.ATerm; 014 import aterm.ATermAppl; 015 import aterm.ATermFactory; 016 import aterm.ATermList; 017 018 abstract public class EditorPluginTool 019 extends SwingTool 020 implements EditorPluginTif 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 PgetContents0; 027 private ATerm PeditFile0; 028 private ATerm PsetFocus0; 029 private ATerm PisModified0; 030 private ATerm PkillEditor0; 031 private ATerm PdisplayMessage0; 032 private ATerm PsetTooltip0; 033 private ATerm PregisterTextCategories0; 034 private ATerm PsetSelection0; 035 private ATerm PwriteContents0; 036 private ATerm PeditorToFront0; 037 private ATerm PsetEditable0; 038 private ATerm PsetContents0; 039 private ATerm PhighlightSlices0; 040 private ATerm PsetCursorAtOffset0; 041 private ATerm PshowPopup0; 042 private ATerm PaddActions0; 043 private ATerm PsetInfo0; 044 private ATerm PclearFocus0; 045 private ATerm PrereadContents0; 046 private ATerm PrecAckEvent0; 047 private ATerm PrecTerminate0; 048 049 // Mimic the constructor from the AbstractTool class 050 protected EditorPluginTool(ATermFactory factory) 051 { 052 super(factory); 053 initSigTable(); 054 initPatterns(); 055 } 056 057 // This method initializes the table with input signatures 058 private void initSigTable() 059 { 060 sigTable.add(factory.parse("rec-do(<editor-plugin>,edit-file(<session-id>,<str>))")); 061 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-tooltip(<session-id>,<str>))")); 062 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-info(<session-id>,<str>))")); 063 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-editable(<session-id>,<bool>))")); 064 sigTable.add(factory.parse("rec-do(<editor-plugin>,add-actions(<session-id>,<list>))")); 065 sigTable.add(factory.parse("rec-do(<editor-plugin>,get-contents(<session-id>))")); 066 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-contents(<session-id>,<str>))")); 067 sigTable.add(factory.parse("rec-do(<editor-plugin>,write-contents(<session-id>))")); 068 sigTable.add(factory.parse("rec-do(<editor-plugin>,reread-contents(<session-id>))")); 069 sigTable.add(factory.parse("rec-do(<editor-plugin>,is-modified(<session-id>))")); 070 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-focus(<session-id>,<area>))")); 071 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-selection(<session-id>,<area>))")); 072 sigTable.add(factory.parse("rec-do(<editor-plugin>,set-cursor-at-offset(<session-id>,<int>))")); 073 sigTable.add(factory.parse("rec-do(<editor-plugin>,clear-focus(<session-id>))")); 074 sigTable.add(factory.parse("rec-do(<editor-plugin>,register-text-categories(<session-id>,<list>))")); 075 sigTable.add(factory.parse("rec-do(<editor-plugin>,highlight-slices(<session-id>,<list>))")); 076 sigTable.add(factory.parse("rec-do(<editor-plugin>,display-message(<session-id>,<str>))")); 077 sigTable.add(factory.parse("rec-do(<editor-plugin>,editor-to-front(<session-id>))")); 078 sigTable.add(factory.parse("rec-do(<editor-plugin>,kill-editor(<session-id>))")); 079 sigTable.add(factory.parse("rec-do(<editor-plugin>,show-popup(<session-id>,<list>))")); 080 sigTable.add(factory.parse("rec-ack-event(<editor-plugin>,<term>)")); 081 sigTable.add(factory.parse("rec-terminate(<editor-plugin>,<term>)")); 082 } 083 084 // Initialize the patterns that are used to match against incoming terms 085 private void initPatterns() 086 { 087 PgetContents0 = factory.parse("rec-do(get-contents(<term>))"); 088 PeditFile0 = factory.parse("rec-do(edit-file(<term>,<str>))"); 089 PsetFocus0 = factory.parse("rec-do(set-focus(<term>,<term>))"); 090 PisModified0 = factory.parse("rec-do(is-modified(<term>))"); 091 PkillEditor0 = factory.parse("rec-do(kill-editor(<term>))"); 092 PdisplayMessage0 = factory.parse("rec-do(display-message(<term>,<str>))"); 093 PsetTooltip0 = factory.parse("rec-do(set-tooltip(<term>,<str>))"); 094 PregisterTextCategories0 = factory.parse("rec-do(register-text-categories(<term>,<term>))"); 095 PsetSelection0 = factory.parse("rec-do(set-selection(<term>,<term>))"); 096 PwriteContents0 = factory.parse("rec-do(write-contents(<term>))"); 097 PeditorToFront0 = factory.parse("rec-do(editor-to-front(<term>))"); 098 PsetEditable0 = factory.parse("rec-do(set-editable(<term>,<term>))"); 099 PsetContents0 = factory.parse("rec-do(set-contents(<term>,<str>))"); 100 PhighlightSlices0 = factory.parse("rec-do(highlight-slices(<term>,<term>))"); 101 PsetCursorAtOffset0 = factory.parse("rec-do(set-cursor-at-offset(<term>,<int>))"); 102 PshowPopup0 = factory.parse("rec-do(show-popup(<term>,<term>))"); 103 PaddActions0 = factory.parse("rec-do(add-actions(<term>,<term>))"); 104 PsetInfo0 = factory.parse("rec-do(set-info(<term>,<str>))"); 105 PclearFocus0 = factory.parse("rec-do(clear-focus(<term>))"); 106 PrereadContents0 = factory.parse("rec-do(reread-contents(<term>))"); 107 PrecAckEvent0 = factory.parse("rec-ack-event(<term>)"); 108 PrecTerminate0 = factory.parse("rec-terminate(<term>)"); 109 } 110 111 // The generic handler calls the specific handlers 112 public ATerm handler(ATerm term) 113 { 114 List<?> result; 115 116 result = term.match(PgetContents0); 117 if (result != null) { 118 getContents((ATerm)result.get(0)); 119 return null; 120 } 121 result = term.match(PeditFile0); 122 if (result != null) { 123 editFile((ATerm)result.get(0), (String)result.get(1)); 124 return null; 125 } 126 result = term.match(PsetFocus0); 127 if (result != null) { 128 setFocus((ATerm)result.get(0), (ATerm)result.get(1)); 129 return null; 130 } 131 result = term.match(PisModified0); 132 if (result != null) { 133 isModified((ATerm)result.get(0)); 134 return null; 135 } 136 result = term.match(PkillEditor0); 137 if (result != null) { 138 killEditor((ATerm)result.get(0)); 139 return null; 140 } 141 result = term.match(PdisplayMessage0); 142 if (result != null) { 143 displayMessage((ATerm)result.get(0), (String)result.get(1)); 144 return null; 145 } 146 result = term.match(PsetTooltip0); 147 if (result != null) { 148 setTooltip((ATerm)result.get(0), (String)result.get(1)); 149 return null; 150 } 151 result = term.match(PregisterTextCategories0); 152 if (result != null) { 153 registerTextCategories((ATerm)result.get(0), (ATerm)result.get(1)); 154 return null; 155 } 156 result = term.match(PsetSelection0); 157 if (result != null) { 158 setSelection((ATerm)result.get(0), (ATerm)result.get(1)); 159 return null; 160 } 161 result = term.match(PwriteContents0); 162 if (result != null) { 163 writeContents((ATerm)result.get(0)); 164 return null; 165 } 166 result = term.match(PeditorToFront0); 167 if (result != null) { 168 editorToFront((ATerm)result.get(0)); 169 return null; 170 } 171 result = term.match(PsetEditable0); 172 if (result != null) { 173 setEditable((ATerm)result.get(0), (ATerm)result.get(1)); 174 return null; 175 } 176 result = term.match(PsetContents0); 177 if (result != null) { 178 setContents((ATerm)result.get(0), (String)result.get(1)); 179 return null; 180 } 181 result = term.match(PhighlightSlices0); 182 if (result != null) { 183 highlightSlices((ATerm)result.get(0), (ATerm)result.get(1)); 184 return null; 185 } 186 result = term.match(PsetCursorAtOffset0); 187 if (result != null) { 188 setCursorAtOffset((ATerm)result.get(0), ((Integer)result.get(1)).intValue()); 189 return null; 190 } 191 result = term.match(PshowPopup0); 192 if (result != null) { 193 showPopup((ATerm)result.get(0), (ATerm)result.get(1)); 194 return null; 195 } 196 result = term.match(PaddActions0); 197 if (result != null) { 198 addActions((ATerm)result.get(0), (ATerm)result.get(1)); 199 return null; 200 } 201 result = term.match(PsetInfo0); 202 if (result != null) { 203 setInfo((ATerm)result.get(0), (String)result.get(1)); 204 return null; 205 } 206 result = term.match(PclearFocus0); 207 if (result != null) { 208 clearFocus((ATerm)result.get(0)); 209 return null; 210 } 211 result = term.match(PrereadContents0); 212 if (result != null) { 213 rereadContents((ATerm)result.get(0)); 214 return null; 215 } 216 result = term.match(PrecAckEvent0); 217 if (result != null) { 218 recAckEvent((ATerm)result.get(0)); 219 return null; 220 } 221 result = term.match(PrecTerminate0); 222 if (result != null) { 223 recTerminate((ATerm)result.get(0)); 224 return null; 225 } 226 227 notInInputSignature(term); 228 return null; 229 } 230 231 // Check the input signature 232 public void checkInputSignature(ATermList sigs) 233 { 234 while(!sigs.isEmpty()) { 235 ATermAppl sig = (ATermAppl)sigs.getFirst(); 236 sigs = sigs.getNext(); 237 if (!sigTable.contains(sig)) { 238 // Sorry, but the term is not in the input signature! 239 notInInputSignature(sig); 240 } 241 } 242 } 243 244 // This function is called when an input term 245 // was not in the input signature. 246 void notInInputSignature(ATerm t) 247 { 248 throw new RuntimeException("term not in input signature: " + t); 249 } 250 }