001 // Java tool interface class GuiTool 002 // This file is generated automatically, please do not edit! 003 // generation time: Mar 14, 2007 10:20:35 AM 004 005 package nl.cwi.sen1.gui; 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 GuiTool 019 extends SwingTool 020 implements GuiTif 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 PloadJarUrls0; 027 private ATerm PloadJar0; 028 private ATerm PaddMenuEvents0; 029 private ATerm PloadJarClasspath0; 030 private ATerm PjobDone0; 031 private ATerm PaddJob0; 032 private ATerm PsetStatus0; 033 private ATerm PsetTitle0; 034 private ATerm PrecAckEvent0; 035 private ATerm PrecTerminate0; 036 037 // Mimic the constructor from the AbstractTool class 038 protected GuiTool(ATermFactory factory) 039 { 040 super(factory); 041 initSigTable(); 042 initPatterns(); 043 } 044 045 // This method initializes the table with input signatures 046 private void initSigTable() 047 { 048 sigTable.add(factory.parse("rec-do(<gui>,set-title(<str>))")); 049 sigTable.add(factory.parse("rec-do(<gui>,load-jar(<str>))")); 050 sigTable.add(factory.parse("rec-do(<gui>,load-jar-classpath(<str>,<str>))")); 051 sigTable.add(factory.parse("rec-do(<gui>,load-jar-urls(<str>,<list>))")); 052 sigTable.add(factory.parse("rec-do(<gui>,set-status(<str>))")); 053 sigTable.add(factory.parse("rec-do(<gui>,add-job(<str>))")); 054 sigTable.add(factory.parse("rec-do(<gui>,job-done(<str>))")); 055 sigTable.add(factory.parse("rec-do(<gui>,add-menu-events(<list>))")); 056 sigTable.add(factory.parse("rec-ack-event(<gui>,<term>)")); 057 sigTable.add(factory.parse("rec-terminate(<gui>,<term>)")); 058 } 059 060 // Initialize the patterns that are used to match against incoming terms 061 private void initPatterns() 062 { 063 PloadJarUrls0 = factory.parse("rec-do(load-jar-urls(<str>,<term>))"); 064 PloadJar0 = factory.parse("rec-do(load-jar(<str>))"); 065 PaddMenuEvents0 = factory.parse("rec-do(add-menu-events(<term>))"); 066 PloadJarClasspath0 = factory.parse("rec-do(load-jar-classpath(<str>,<str>))"); 067 PjobDone0 = factory.parse("rec-do(job-done(<str>))"); 068 PaddJob0 = factory.parse("rec-do(add-job(<str>))"); 069 PsetStatus0 = factory.parse("rec-do(set-status(<str>))"); 070 PsetTitle0 = factory.parse("rec-do(set-title(<str>))"); 071 PrecAckEvent0 = factory.parse("rec-ack-event(<term>)"); 072 PrecTerminate0 = factory.parse("rec-terminate(<term>)"); 073 } 074 075 // The generic handler calls the specific handlers 076 public ATerm handler(ATerm term) 077 { 078 List<?> result; 079 080 result = term.match(PloadJarUrls0); 081 if (result != null) { 082 loadJarUrls((String)result.get(0), (ATerm)result.get(1)); 083 return null; 084 } 085 result = term.match(PloadJar0); 086 if (result != null) { 087 loadJar((String)result.get(0)); 088 return null; 089 } 090 result = term.match(PaddMenuEvents0); 091 if (result != null) { 092 addMenuEvents((ATerm)result.get(0)); 093 return null; 094 } 095 result = term.match(PloadJarClasspath0); 096 if (result != null) { 097 loadJarClasspath((String)result.get(0), (String)result.get(1)); 098 return null; 099 } 100 result = term.match(PjobDone0); 101 if (result != null) { 102 jobDone((String)result.get(0)); 103 return null; 104 } 105 result = term.match(PaddJob0); 106 if (result != null) { 107 addJob((String)result.get(0)); 108 return null; 109 } 110 result = term.match(PsetStatus0); 111 if (result != null) { 112 setStatus((String)result.get(0)); 113 return null; 114 } 115 result = term.match(PsetTitle0); 116 if (result != null) { 117 setTitle((String)result.get(0)); 118 return null; 119 } 120 result = term.match(PrecAckEvent0); 121 if (result != null) { 122 recAckEvent((ATerm)result.get(0)); 123 return null; 124 } 125 result = term.match(PrecTerminate0); 126 if (result != null) { 127 recTerminate((ATerm)result.get(0)); 128 return null; 129 } 130 131 notInInputSignature(term); 132 return null; 133 } 134 135 // Check the input signature 136 public void checkInputSignature(ATermList sigs) 137 { 138 while(!sigs.isEmpty()) { 139 ATermAppl sig = (ATermAppl)sigs.getFirst(); 140 sigs = sigs.getNext(); 141 if (!sigTable.contains(sig)) { 142 // Sorry, but the term is not in the input signature! 143 notInInputSignature(sig); 144 } 145 } 146 } 147 148 // This function is called when an input term 149 // was not in the input signature. 150 void notInInputSignature(ATerm t) 151 { 152 throw new RuntimeException("term not in input signature: " + t); 153 } 154 }