1 package jalview.ws2.actions.annotation;
3 import java.io.IOException;
7 import jalview.api.FeatureColourI;
8 import jalview.datamodel.AlignmentAnnotation;
9 import jalview.datamodel.SequenceI;
10 import jalview.datamodel.features.FeatureMatcherSetI;
11 import jalview.ws2.api.WebServiceJobHandle;
12 import jalview.ws2.client.api.AnnotationWebServiceClientI;
13 import jalview.ws2.client.api.WebServiceClientI;
16 * An interface for providing annotation results to the annotation services. It
17 * declares a method to attach annotations fetched from the server to sequences.
18 * Web service clients wanting to support annotation acitons must implement this
19 * interface in addition to {@link WebServiceClientI}
23 * @see AnnotationWebServiceClientI
25 public interface AnnotationProviderI
28 * Retrieves annotations from the job result on the server and attaches them
29 * to provided sequences. Additionally, adds feature colours and filters to
30 * provided containers.
35 * features and alignment annotation added to these will be
36 * imported to the dataset for the alignment
38 * container for feature colours
40 * container for feature filters
41 * @return sequence and alignment annotation rows that should be made
42 * visible/updated on alignment
44 * annotation retrieval failed
46 public List<AlignmentAnnotation> attachAnnotations(WebServiceJobHandle job,
47 List<SequenceI> sequences, Map<String, FeatureColourI> colours,
48 Map<String, FeatureMatcherSetI> filters) throws IOException;