jalview das registry and source api and jdas specific implementations
[jalview.git] / src / jalview / ws / dbsources / das / api / DasSourceRegistryI.java
diff --git a/src/jalview/ws/dbsources/das/api/DasSourceRegistryI.java b/src/jalview/ws/dbsources/das/api/DasSourceRegistryI.java
new file mode 100644 (file)
index 0000000..187f436
--- /dev/null
@@ -0,0 +1,35 @@
+package jalview.ws.dbsources.das.api;
+
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import org.biodas.jdas.client.ConnectionPropertyProviderI;
+import org.biodas.jdas.schema.sources.SOURCE;
+
+/**
+ * API for a registry that provides datasources that jalview can access
+ * @author jprocter
+ *
+ */
+public interface DasSourceRegistryI
+{
+
+  List<jalviewSourceI> getSources();
+
+  String getDasRegistryURL();
+
+  jalviewSourceI getSource(String nickname);
+
+  jalviewSourceI createLocalSource(String uri, String name, boolean sequence,
+          boolean features);
+  boolean removeLocalSource(jalviewSourceI source);
+
+  void refreshSources();
+
+  String getLocalSourceString();
+
+  List<jalviewSourceI> resolveSourceNicknames(List<String> sources);
+  // TODO: refactor to jDAS specific interface
+  Map<String,ConnectionPropertyProviderI> getSessionHandler();
+}