*/
public abstract class StructureChooserQuerySource
{
- protected FTSRestRequest lastPdbRequest;
-
- protected FTSRestClientI pdbRestClient;
protected FTSDataColumnPreferences docFieldPrefs;
*
* @param seq
* - seq to generate a query for
+ * @param discoveredStructuresSet - existing set of entries - allows client side selection
* @param wantedFields
* - fields to retrieve
* @param selectedFilterOpt
* @throws Exception
*/
public abstract FTSRestResponse selectFirstRankedQuery(SequenceI seq,
- Collection<FTSDataColumnI> wantedFields, String fieldToFilterBy,
+ Collection<FTSData> discoveredStructuresSet, Collection<FTSDataColumnI> wantedFields, String fieldToFilterBy,
boolean b) throws Exception;
/**
public TableModel getTableModel(
Collection<FTSData> discoveredStructuresSet)
{
- return FTSRestResponse.getTableModel(lastPdbRequest,
+ return FTSRestResponse.getTableModel(getLastFTSRequest(),
discoveredStructuresSet);
}
+ protected abstract FTSRestRequest getLastFTSRequest();
+
public abstract PDBEntry[] collectSelectedRows(JTable restable,
int[] selectedRows, List<SequenceI> selectedSeqsToView);
return new PDBStructureChooserQuerySource();
}
+ /**
+ * some filter options may mean the original query needs to be executed again.
+ * @param selectedFilterOpt
+ * @return true if the fetchStructuresMetadata method needs to be called again
+ */
+ public abstract boolean needsRefetch(FilterOption selectedFilterOpt);
+
}
\ No newline at end of file