001 // Java tool interface class FactbrowserTool 002 // This file is generated automatically, please do not edit! 003 // generation time: Aug 17, 2007 9:19:04 AM 004 005 package nl.cwi.sen1.visbase.factbrowser; 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 FactbrowserTool 019 extends SwingTool 020 implements FactbrowserTif 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 PfbRstoreUnloaded0; 027 private ATerm PfbAddVisualizationPlugin0; 028 private ATerm PfbShowRstoreFacts0; 029 private ATerm PshowPopup0; 030 private ATerm PgetSelectedRstoreid0; 031 private ATerm PrecAckEvent0; 032 private ATerm PrecTerminate0; 033 034 // Mimic the constructor from the AbstractTool class 035 protected FactbrowserTool(ATermFactory factory) 036 { 037 super(factory); 038 initSigTable(); 039 initPatterns(); 040 } 041 042 // This method initializes the table with input signatures 043 private void initSigTable() 044 { 045 sigTable.add(factory.parse("rec-do(<factbrowser>,fb-add-visualization-plugin(<term>,<int>,<str>))")); 046 sigTable.add(factory.parse("rec-eval(<factbrowser>,get-selected-rstoreid)")); 047 sigTable.add(factory.parse("rec-do(<factbrowser>,fb-show-rstore-facts(<str>,<int>,<list>))")); 048 sigTable.add(factory.parse("rec-ack-event(<factbrowser>,<term>)")); 049 sigTable.add(factory.parse("rec-do(<factbrowser>,show-popup(<int>,<list>))")); 050 sigTable.add(factory.parse("rec-do(<factbrowser>,fb-rstore-unloaded(<int>))")); 051 sigTable.add(factory.parse("rec-terminate(<factbrowser>,<term>)")); 052 } 053 054 // Initialize the patterns that are used to match against incoming terms 055 private void initPatterns() 056 { 057 PfbRstoreUnloaded0 = factory.parse("rec-do(fb-rstore-unloaded(<int>))"); 058 PfbAddVisualizationPlugin0 = factory.parse("rec-do(fb-add-visualization-plugin(<term>,<int>,<str>))"); 059 PfbShowRstoreFacts0 = factory.parse("rec-do(fb-show-rstore-facts(<str>,<int>,<term>))"); 060 PshowPopup0 = factory.parse("rec-do(show-popup(<int>,<term>))"); 061 PgetSelectedRstoreid0 = factory.parse("rec-eval(get-selected-rstoreid)"); 062 PrecAckEvent0 = factory.parse("rec-ack-event(<term>)"); 063 PrecTerminate0 = factory.parse("rec-terminate(<term>)"); 064 } 065 066 // The generic handler calls the specific handlers 067 public ATerm handler(ATerm term) 068 { 069 List<?> result; 070 071 result = term.match(PfbRstoreUnloaded0); 072 if (result != null) { 073 fbRstoreUnloaded(((Integer)result.get(0)).intValue()); 074 return null; 075 } 076 result = term.match(PfbAddVisualizationPlugin0); 077 if (result != null) { 078 fbAddVisualizationPlugin((ATerm)result.get(0), ((Integer)result.get(1)).intValue(), (String)result.get(2)); 079 return null; 080 } 081 result = term.match(PfbShowRstoreFacts0); 082 if (result != null) { 083 fbShowRstoreFacts((String)result.get(0), ((Integer)result.get(1)).intValue(), (ATerm)result.get(2)); 084 return null; 085 } 086 result = term.match(PshowPopup0); 087 if (result != null) { 088 showPopup(((Integer)result.get(0)).intValue(), (ATerm)result.get(1)); 089 return null; 090 } 091 result = term.match(PgetSelectedRstoreid0); 092 if (result != null) { 093 return getSelectedRstoreid(); 094 } 095 result = term.match(PrecAckEvent0); 096 if (result != null) { 097 recAckEvent((ATerm)result.get(0)); 098 return null; 099 } 100 result = term.match(PrecTerminate0); 101 if (result != null) { 102 recTerminate((ATerm)result.get(0)); 103 return null; 104 } 105 106 notInInputSignature(term); 107 return null; 108 } 109 110 // Check the input signature 111 public void checkInputSignature(ATermList sigs) 112 { 113 while(!sigs.isEmpty()) { 114 ATermAppl sig = (ATermAppl)sigs.getFirst(); 115 sigs = sigs.getNext(); 116 if (!sigTable.contains(sig)) { 117 // Sorry, but the term is not in the input signature! 118 notInInputSignature(sig); 119 } 120 } 121 } 122 123 // This function is called when an input term 124 // was not in the input signature. 125 void notInInputSignature(ATerm t) 126 { 127 throw new RuntimeException("term not in input signature: " + t); 128 } 129 }