org.biojava.bio.seq
Class FeatureFilter.OnlyDescendants

java.lang.Object
  extended by org.biojava.bio.seq.FeatureFilter.OnlyDescendants
All Implemented Interfaces:
java.io.Serializable, FeatureFilter, OptimizableFilter
Enclosing interface:
FeatureFilter

public static class FeatureFilter.OnlyDescendants
extends java.lang.Object
implements OptimizableFilter

Accepts features where all descendants meet the supplied filter. This will be true in the case where no child features exist. Mainly useful for defining schemas of feature-trees.

Since:
1.3
Author:
Thomas Down
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureFilter
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
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureFilter
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
 
Field Summary
 
Fields inherited from interface org.biojava.bio.seq.FeatureFilter
all, leaf, none, top_level
 
Fields inherited from interface org.biojava.bio.seq.FeatureFilter
all, leaf, none, top_level
 
Constructor Summary
FeatureFilter.OnlyDescendants(FeatureFilter ff)
           
 
Method Summary
 boolean accept(Feature f)
          This method determines whether a feature is to be accepted.
 boolean equals(java.lang.Object o)
           
 FeatureFilter getFilter()
           
 int hashCode()
           
 boolean isDisjoint(FeatureFilter ff)
          Returns true if this filter is disjoint from filt - that is, there is no Feature that is accepted by both filters.
 boolean isProperSubset(FeatureFilter ff)
          Returns true if this filter is a proper subset of sup - that is, for every feature that matches this, it also matches sup.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FeatureFilter.OnlyDescendants

public FeatureFilter.OnlyDescendants(FeatureFilter ff)
Method Detail

getFilter

public FeatureFilter getFilter()

accept

public boolean accept(Feature f)
Description copied from interface: FeatureFilter
This method determines whether a feature is to be accepted.

Specified by:
accept in interface FeatureFilter
Parameters:
f - the Feature to evaluate
Returns:
true if this feature is to be selected in, or false if it is to be ignored

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

isProperSubset

public boolean isProperSubset(FeatureFilter ff)
Description copied from interface: OptimizableFilter
Returns true if this filter is a proper subset of sup - that is, for every feature that matches this, it also matches sup. The empty filter is a proper subset of all filters. All filters are a proper subset of the all filter. All filters are proper subsets of themselves.

Specified by:
isProperSubset in interface OptimizableFilter
Parameters:
ff - the potential super set
Returns:
true if sup contains all features contained by this filter

isDisjoint

public boolean isDisjoint(FeatureFilter ff)
Description copied from interface: OptimizableFilter
Returns true if this filter is disjoint from filt - that is, there is no Feature that is accepted by both filters. The empty filter is disjoint from all other filters. The all filter is disjoint from none.

Specified by:
isDisjoint in interface OptimizableFilter