X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2Ffeatures%2FFeatureStoreI.java;fp=src%2Fjalview%2Fdatamodel%2Ffeatures%2FFeatureStoreI.java;h=fb3257780fc44b2b3d7329cced65b34fec9cef97;hb=a83adb45bdf9554e270921b4baad94defd314b36;hp=0000000000000000000000000000000000000000;hpb=d4ec118f86b5c9dee801e743c46aaacc7bb521d1;p=jalview.git diff --git a/src/jalview/datamodel/features/FeatureStoreI.java b/src/jalview/datamodel/features/FeatureStoreI.java new file mode 100644 index 0000000..fb32577 --- /dev/null +++ b/src/jalview/datamodel/features/FeatureStoreI.java @@ -0,0 +1,58 @@ +package jalview.datamodel.features; + +import jalview.datamodel.SequenceFeature; + +import java.util.Collection; +import java.util.List; +import java.util.Set; + +public interface FeatureStoreI +{ + + boolean addFeature(SequenceFeature feature); + + boolean contains(SequenceFeature feature); + + boolean delete(SequenceFeature sf); + + List findOverlappingFeatures(long start, long end); + + List findOverlappingFeatures(long start, long end, + List result); + + List getContactFeatures(); + + List getContactFeatures(List result); + + int getFeatureCount(boolean positional); + + Set getFeatureGroups(boolean positionalFeatures); + + Collection getFeatures(); + + List getFeaturesForGroup(boolean positional, + String group); + + float getMaximumScore(boolean positional); + + float getMinimumScore(boolean positional); + + List getNonPositionalFeatures(); + + List getNonPositionalFeatures( + List result); + + List getPositionalFeatures(); + + List getPositionalFeatures(List result); + + int getTotalFeatureLength(); + + boolean isEmpty(); + + boolean shiftFeatures(int fromPosition, int shiftBy); + + boolean listContains(List features, + SequenceFeature feature); + +}