Interface FeatureFilter

All Superinterfaces:
Serializable
All Known Subinterfaces:
BioSQLFeatureFilter, OptimizableFilter
All Known Implementing Classes:
BioSQLAcceptAllFilter, BioSQLAcceptNoneFilter, BioSQLFeatureFilter.And, BioSQLFeatureFilter.ByName, BioSQLFeatureFilter.ByNote, BioSQLFeatureFilter.ByNoteTermOnly, BioSQLFeatureFilter.ByRank, BioSQLFeatureFilter.BySequenceName, BioSQLFeatureFilter.BySourceTerm, BioSQLFeatureFilter.BySourceTermName, BioSQLFeatureFilter.ByStrand, BioSQLFeatureFilter.ByTypeTerm, BioSQLFeatureFilter.ByTypeTermName, BioSQLFeatureFilter.ContainedByRichLocation, BioSQLFeatureFilter.HibernateFeatureFilter, BioSQLFeatureFilter.Not, BioSQLFeatureFilter.Or, BioSQLFeatureFilter.OverlapsRichLocation, FeatureFilter.And, FeatureFilter.AnnotationContains, FeatureFilter.ByAncestor, FeatureFilter.ByAnnotation, FeatureFilter.ByAnnotationType, FeatureFilter.ByChild, FeatureFilter.ByClass, FeatureFilter.ByComponentName, FeatureFilter.ByDescendant, FeatureFilter.ByFeature, FeatureFilter.ByPairwiseScore, FeatureFilter.ByParent, FeatureFilter.BySequenceName, FeatureFilter.BySource, FeatureFilter.ByType, FeatureFilter.ContainedByLocation, FeatureFilter.FrameFilter, FeatureFilter.HasAnnotation, FeatureFilter.Not, FeatureFilter.OnlyChildren, FeatureFilter.OnlyDescendants, FeatureFilter.Or, FeatureFilter.OverlapsLocation, FeatureFilter.ShadowContainedByLocation, FeatureFilter.ShadowOverlapsLocation, FeatureFilter.StrandFilter

public interface FeatureFilter extends Serializable
A filter for accepting or rejecting a feature.

It is possible to write custom FeatureFilters by implementing this interface. There are also a wide range of built-in features, and it is possible to build complex queries using FeatureFilter.And, FeatureFilter.Or, and FeatureFilter.Not. Where possible, use of the built-in filters is preferable to writing new filters, since the methods in the FilterUtils class have access to special knowledge about the built-in filter types and how they relate to one another.

If the filter is to be used in a remote process, it is recognized that it may be serialized and sent over to run remotely, rather than each feature being retrieved locally.

Since:
1.0
Author:
Matthew Pocock, Thomas Down
  • Field Details

    • all

      static final FeatureFilter all
      All features are selected by this filter.
    • none

      static final FeatureFilter none
      No features are selected by this filter.
    • top_level

      static final FeatureFilter top_level
      A filter which accepts only top-level Features. This is true is getParent() returns a Sequence instance.
      Since:
      1.3
    • leaf

      static final FeatureFilter leaf
      A filter which accepts features with no children
      Since:
      1.3
  • Method Details

    • accept

      boolean accept(Feature f)
      This method determines whether a feature is to be accepted.
      Parameters:
      f - the Feature to evaluate
      Returns:
      true if this feature is to be selected in, or false if it is to be ignored