Class FeatureFilter.ByDescendant

  • All Implemented Interfaces:
    java.io.Serializable, FeatureFilter, OptimizableFilter
    Enclosing interface:
    FeatureFilter

    public static class FeatureFilter.ByDescendant
    extends java.lang.Object
    implements OptimizableFilter
    Filter by applying a nested FeatureFilter to all descendant features. Returns true if at least one of them matches the filter. Always false if the feature has no children.
    Since:
    1.2
    Author:
    Matthew Pocock, Thomas Down
    See Also:
    Serialized Form
    • Constructor Detail

    • Method Detail

      • 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