1a755995b24a7ee1c0bfa094fab376dce0103c27
[jalview.git] / src / jalview / ws / jws2 / Jws2Client.java
1 package jalview.ws.jws2;
2
3 import javax.swing.JMenu;
4
5 import jalview.gui.AlignFrame;
6 import jalview.gui.WebserviceInfo;
7 import jalview.ws.jws2.Jws2Discoverer.Jws2Instance;
8
9 /**
10  * provides metadata for a jws2 service instance - resolves names, etc.
11  * 
12  * @author JimP
13  * 
14  */
15 public abstract class Jws2Client extends jalview.ws.WSClient
16 {
17   protected WebserviceInfo setWebService(Jws2Instance serv, boolean b)
18   {
19     // serviceHandle = serv;
20     String serviceInstance = serv.service.getClass().getName();
21     WebServiceName = serv.serviceType;
22     WebServiceJobTitle = serv.getActionText();
23     WsURL = serv.hosturl;
24     if (!b)
25     {
26       return new WebserviceInfo(WebServiceJobTitle, WebServiceJobTitle
27               + " using service hosted at " + serv.hosturl);
28     }
29     return null;
30   }
31   /*
32   Jws2Instance serviceHandle;
33    * (non-Javadoc)
34    * @see jalview.ws.WSMenuEntryProviderI#attachWSMenuEntry(javax.swing.JMenu, jalview.gui.AlignFrame)
35    *
36   @Override
37   public void attachWSMenuEntry(JMenu wsmenu, AlignFrame alignFrame)
38   {
39     if (serviceHandle==null)
40     {
41       throw new Error("Implementation error: No service handle for this Jws2 service.");
42     }
43     attachWSMenuEntry(wsmenu, serviceHandle, alignFrame);
44   }*/
45   /**
46    * add the menu item for a particular jws2 service instance
47    * @param wsmenu
48    * @param service
49    * @param alignFrame
50    */
51   abstract void attachWSMenuEntry(JMenu wsmenu,
52           final Jws2Instance service, final AlignFrame alignFrame);
53
54 }