jalview das registry and source api and jdas specific implementations
[jalview.git] / src / jalview / ws / dbsources / das / api / jalviewSourceI.java
diff --git a/src/jalview/ws/dbsources/das/api/jalviewSourceI.java b/src/jalview/ws/dbsources/das/api/jalviewSourceI.java
new file mode 100644 (file)
index 0000000..fef6a0b
--- /dev/null
@@ -0,0 +1,49 @@
+package jalview.ws.dbsources.das.api;
+
+import java.util.List;
+
+import jalview.ws.seqfetcher.DbSourceProxy;
+
+import org.biodas.jdas.schema.sources.MAINTAINER;
+import org.biodas.jdas.schema.sources.VERSION;
+
+public interface jalviewSourceI
+{
+
+  String getTitle();
+
+  VERSION getVersion();
+
+  String getDocHref();
+
+  String getDescription();
+
+  String getUri();
+
+  MAINTAINER getMAINTAINER();
+
+  String getEmail();
+
+  boolean isLocal();
+
+  boolean isSequenceSource();
+
+  String[] getCapabilityList(VERSION v);
+
+  String[] getLabelsFor(VERSION v);
+
+  /**
+   * 
+   * @return null if not a sequence source, otherwise a series of database sources that can be used to retrieve sequence data for particular database coordinate systems
+   */
+  List<DbSourceProxy> getSequenceSourceProxies();
+
+  boolean isFeatureSource();
+
+  /**
+   * returns the base URL for the latest version of a source's DAS endpoint set
+   * @return
+   */
+  String getSourceURL();
+
+}