Merge branch 'JAL-3878_ws-overhaul-3' into mmw/Release_2_12_ws_merge
[jalview.git] / src / jalview / ws2 / client / api / WebServiceProviderI.java
diff --git a/src/jalview/ws2/client/api/WebServiceProviderI.java b/src/jalview/ws2/client/api/WebServiceProviderI.java
new file mode 100644 (file)
index 0000000..7e054f8
--- /dev/null
@@ -0,0 +1,29 @@
+package jalview.ws2.client.api;
+
+import java.util.List;
+
+import jalview.ws2.actions.api.ActionI;
+import jalview.ws2.api.WebService;
+
+/*
+ * A view of services that allows to retrieve the services by the type
+ * of action.
+ */
+public interface WebServiceProviderI
+{
+  /**
+   * Retrieve list of all web services.
+   * 
+   * @return all web services
+   */
+  public List<WebService<?>> getServices();
+
+  /**
+   * Retrieve services by their action type.
+   * 
+   * @param type
+   *          action type
+   * @return list of services
+   */
+  public <A extends ActionI<?>> List<WebService<A>> getServices(Class<A> type);
+}