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 * sequences the annotations will be added to
37 * container for feature colours
39 * container for feature filters
40 * @return sequence and alignment annotation rows that should be made
41 * visible/updated on alignment
43 * annotation retrieval failed
45 public List<AlignmentAnnotation> attachAnnotations(WebServiceJobHandle job,
46 List<SequenceI> sequences, Map<String, FeatureColourI> colours,
47 Map<String, FeatureMatcherSetI> filters) throws IOException;