Class FidFilterImpl

All Implemented Interfaces:
Filter, Id, FilterType
Direct Known Subclasses:
JoinId

public class FidFilterImpl extends AbstractFilter implements Id
Defines a ID filter, which holds a list of IDs ( usually feature id;s ). This filter stores a series of IDs, which are used to distinguish features uniquely.

Please note that addAllFids( Collection ) may be a performance hog; uDig makes use of its own implementation of FidFilter in order to reuse the internal set of fids between uses.

Author:
Rob Hranac, TOPP, Justin Deoliveira, TOPP

TODO: this class shoul be renamed to IdFilterImpl

  • Constructor Details

    • FidFilterImpl

      protected FidFilterImpl(Set<? extends Identifier> fids)
      Constructor which takes Identifier, not String.
  • Method Details

    • getIDs

      public Set<Object> getIDs()
      Description copied from interface: Id
      Set of IDs representing the Identifiers used by this filter.
      Specified by:
      getIDs in interface Id
      See Also:
    • getIdentifiers

      public Set<Identifier> getIdentifiers()
      Description copied from interface: Id
      Returns the set of identifiers used by this filter.
      Specified by:
      getIdentifiers in interface Id
      See Also:
    • setIDs

      public void setIDs(Set ids)
      See Also:
      • org.geotools.api.filter.identity.FeatureId#setIDs(Set)
    • getFidsSet

      public Set<String> getFidsSet()
      Accessor method for fid set as Strings.
      Returns:
      the internally stored fids.
    • addFid

      public final void addFid(String fid)
      Adds a feature ID to the filter.
      Parameters:
      fid - A single feature ID.
    • addAllFids

      public void addAllFids(Collection fidsToAdd)
      Adds a collection of feature IDs to the filter.
      Parameters:
      fidsToAdd - A collection of feature IDs as strings.
    • removeFid

      public final void removeFid(String fid)
      Removes a feature ID from the filter.
      Parameters:
      fid - A single feature ID.
    • removeAllFids

      public void removeAllFids(Collection fidsToRemove)
      Removes a collection of feature IDs from the filter.
      Parameters:
      fidsToRemove - A collection of feature IDs.
    • evaluate

      public boolean evaluate(Object feature)
      Determines whether or not the given feature's ID matches this filter.

      In order to get the object's ID, the PropertyAccessor capable of dealing with feature has to support the request of the expression "@id"

      Specified by:
      evaluate in interface Filter
      Parameters:
      feature - Specified feature to examine.
      Returns:
      true if the feature's ID matches an fid held by this filter, false otherwise.
      See Also:
    • toString

      public String toString()
      Returns a string representation of this filter.
      Overrides:
      toString in class Object
      Returns:
      String representation of the compare filter.
    • accept

      public Object accept(FilterVisitor visitor, Object extraData)
      Used by FilterVisitors to perform some action on this filter instance. Typicaly used by Filter decoders, but may also be used by any thing which needs infomration from filter structure. Implementations should always call: visitor.visit(this); It is importatant that this is not left to a parent class unless the parents API is identical.
      Specified by:
      accept in interface Filter
      Parameters:
      visitor - The visitor which requires access to this filter, the method must call visitor.visit(this);
    • equals

      public boolean equals(Object filter)
      Returns a flag indicating object equality.
      Overrides:
      equals in class Object
      Parameters:
      filter - the filter to test equality on.
      Returns:
      String representation of the compare filter.
    • hashCode

      public int hashCode()
      Override of hashCode method.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this fid filter object.