JAL-2071 architectural improvement for Plugable Free Text Search Services
[jalview.git] / src / jalview / fts / api / FTSRestClientI.java
diff --git a/src/jalview/fts/api/FTSRestClientI.java b/src/jalview/fts/api/FTSRestClientI.java
new file mode 100644 (file)
index 0000000..b7ce5df
--- /dev/null
@@ -0,0 +1,34 @@
+package jalview.fts.api;
+
+import jalview.fts.core.FTSRestRequest;
+import jalview.fts.core.FTSRestResponse;
+
+import java.util.Collection;
+
+public interface FTSRestClientI
+{
+
+  public FTSRestResponse executeRequest(FTSRestRequest pdbRestRequest)
+          throws Exception;
+
+  public String getColumnDataConfigFile();
+
+  public FTSDataColumnGroupI getDataColumnGroupById(String id)
+          throws Exception;
+
+  public FTSDataColumnI getDataColumnByNameOrCode(String nameOrCode)
+          throws Exception;
+
+  public int getPrimaryKeyColumIndex(
+          Collection<FTSDataColumnI> wantedFields, boolean hasRefSeq)
+          throws Exception;
+          
+  public FTSDataColumnI getPrimaryKeyColumn();
+
+  public Collection<FTSDataColumnI> getAllDefaulDisplayedDataColumns();
+
+  public Collection<FTSDataColumnI> getSearchableDataColumns();
+
+  public Collection<FTSDataColumnI> getAllFTSDataColumns();
+}
+