JAL-3878 Separate gui elements from operations.
[jalview.git] / src / jalview / ws2 / WebServiceDiscoverer.java
index 0a1565e..513610c 100644 (file)
@@ -7,11 +7,16 @@ import java.util.List;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import jalview.ws2.operations.Operation;
+
 public interface WebServiceDiscoverer
 {
   public static final int STATUS_OK = 1;
+
   public static final int STATUS_NO_SERVICES = 0;
+
   public static final int STATUS_INVALID = -1;
+
   public static final int STATUS_UNKNOWN = -2;
 
   public List<String> getUrls();
@@ -22,7 +27,7 @@ public interface WebServiceDiscoverer
 
   public int getStatusForUrl(String url);
 
-  public List<WebServiceI> getServices();
+  public List<Operation> getOperations();
 
   public boolean hasServices();
 
@@ -35,24 +40,31 @@ public interface WebServiceDiscoverer
   public String getErrorMessages();
 
   @FunctionalInterface
-  static interface ServiceChangeListener {
-    public void servicesChanged(WebServiceDiscoverer discoverer,
-            Collection<? extends WebServiceI> services);
+  static interface ServiceChangeListener
+  {
+    public void operationsChanged(WebServiceDiscoverer discoverer,
+            List<Operation> list);
   }
 
   List<ServiceChangeListener> serviceListeners = new CopyOnWriteArrayList<>();
 
-  public default void addServiceChangeListener(ServiceChangeListener listener) {
+  public default void addServiceChangeListener(
+          ServiceChangeListener listener)
+  {
     serviceListeners.add(listener);
   }
 
-  public default void removeServiceChangeListener(ServiceChangeListener listener) {
+  public default void removeServiceChangeListener(
+          ServiceChangeListener listener)
+  {
     serviceListeners.remove(listener);
   }
 
-  default void fireServicesChanged(List<WebServiceI> services) {
-    for (var listener: serviceListeners) {
-      listener.servicesChanged(this, services);
+  default void fireOperationsChanged(List<Operation> list)
+  {
+    for (var listener : serviceListeners)
+    {
+      listener.operationsChanged(this, list);
     }
   }
 }