001    package toolbus.adapter.wish;
002    
003    import java.net.InetAddress;
004    
005    import toolbus.adapter.ToolBridge;
006    import aterm.ATerm;
007    import aterm.pure.PureFactory;
008    
009    public class WishAdapterBridge extends ToolBridge{
010            private final WishAdapter wishAdapter;
011            
012            public WishAdapterBridge(PureFactory termFactory, WishAdapter tool, String toolName, int toolID, InetAddress host, int port){
013                    super(termFactory, toolName, toolID, host, port);
014                    
015                    wishAdapter = tool;
016            }
017            
018            public boolean checkSignature(ATerm signatures){
019                    // TODO Can't be bothered to implement.
020                    return true;
021            }
022            
023            public void doDo(ATerm aTerm){
024                    wishAdapter.receiveDo(aTerm);
025            }
026            
027            public ATerm doEval(ATerm aTerm){
028                    return wishAdapter.receiveEval(aTerm);
029            }
030            
031            public ATerm doGetPerformanceStats(){
032                    PureFactory factory = getFactory();
033                    ATerm unsupportedOperation = factory.make("unsupported-operation");
034                    ATerm performanceStats = factory.makeAppl(factory.makeAFun("performance-stats", 3, false), unsupportedOperation, unsupportedOperation, unsupportedOperation);
035                    return performanceStats;
036            }
037            
038            public void doReceiveAckEvent(ATerm aTerm){
039                    wishAdapter.receiveAckEvent(aTerm);
040            }
041            
042            public void doTerminate(ATerm aTerm){
043                    wishAdapter.receiveTerminate(aTerm);
044            }
045    }