org.geotools.filter
Class FidFilterImpl

Object
  extended by FilterAbstract
      extended by AbstractFilter
          extended by AbstractFilterImpl
              extended by FidFilterImpl
All Implemented Interfaces:
FidFilter, FilterType, Filter, Id

public class FidFilterImpl
extends AbstractFilterImpl
implements FidFilter

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
Module:
modules/library/main (gt-main.jar)

Field Summary
 
Fields inherited from class AbstractFilter
filterType, permissiveConstruction
 
Fields inherited from class FilterAbstract
factory
 
Fields inherited from interface Filter
ALL, NONE
 
Fields inherited from interface FilterType
BETWEEN, COMPARE_EQUALS, COMPARE_GREATER_THAN, COMPARE_GREATER_THAN_EQUAL, COMPARE_LESS_THAN, COMPARE_LESS_THAN_EQUAL, COMPARE_NOT_EQUALS, FID, GEOMETRY_BBOX, GEOMETRY_BEYOND, GEOMETRY_CONTAINS, GEOMETRY_CROSSES, GEOMETRY_DISJOINT, GEOMETRY_DWITHIN, GEOMETRY_EQUALS, GEOMETRY_INTERSECTS, GEOMETRY_OVERLAPS, GEOMETRY_TOUCHES, GEOMETRY_WITHIN, LIKE, LOGIC_AND, LOGIC_NOT, LOGIC_OR, NULL
 
Fields inherited from interface Filter
EXCLUDE, INCLUDE
 
Fields inherited from interface Filter
EXCLUDE, INCLUDE
 
Constructor Summary
protected FidFilterImpl()
          Deprecated. use FidFilterImpl(Set)
protected FidFilterImpl(Set fids)
          Constructor which takes Identifier, not String.
protected FidFilterImpl(String initialFid)
          Deprecated. use FidFilterImpl(Set)
 
Method Summary
 Object accept(FilterVisitor visitor, Object extraData)
          Used by FilterVisitors to perform some action on this filter instance.
 void addAllFids(Collection fidsToAdd)
          Adds a collection of feature IDs to the filter.
 void addFid(String fid)
          Deprecated.  
 boolean equals(Object filter)
          Returns a flag indicating object equality.
 boolean evaluate(Object feature)
          Determines whether or not the given feature's ID matches this filter.
 String[] getFids()
          Deprecated. use getIDs()
 Set getFidsSet()
          Accessor method for fid set as Strings.
 Set getIdentifiers()
           
 Set getIDs()
           
 int hashCode()
          Override of hashCode method.
 void removeAllFids(Collection fidsToRemove)
          Removes a collection of feature IDs from the filter.
 void removeFid(String fid)
          Removes a feature ID from the filter.
 void setIDs(Set ids)
           
 String toString()
          Returns a string representation of this filter.
 
Methods inherited from class AbstractFilterImpl
and, not, or
 
Methods inherited from class AbstractFilter
accept, contains, getFilterType, isCompareFilter, isGeometryDistanceFilter, isGeometryFilter, isLogicFilter, isMathFilter, isSimpleFilter
 
Methods inherited from class FilterAbstract
accepts, eval, eval, eval, evaluate
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface FidFilter
contains
 
Methods inherited from interface Filter
accept, and, evaluate, getFilterType, not, or
 

Constructor Detail

FidFilterImpl

protected FidFilterImpl()
Deprecated. use FidFilterImpl(Set)

Empty constructor.


FidFilterImpl

protected FidFilterImpl(String initialFid)
Deprecated. use FidFilterImpl(Set)

Constructor with first fid set

Parameters:
initialFid - The type of comparison.

FidFilterImpl

protected FidFilterImpl(Set fids)
Constructor which takes Identifier, not String.

Method Detail

getFids

public final String[] getFids()
Deprecated. use getIDs()

Returns all the fids in this filter.

Specified by:
getFids in interface FidFilter
Returns:
An array of all the fids in this filter.

getIDs

public Set getIDs()
Specified by:
getIDs in interface Id
See Also:
Id.getIDs()

getIdentifiers

public Set getIdentifiers()
Specified by:
getIdentifiers in interface Id
See Also:
Id.getIdentifiers()

setIDs

public void setIDs(Set ids)
See Also:
org.opengis.filter.identity.FeatureId#setIDs(Set)

getFidsSet

public Set getFidsSet()
Accessor method for fid set as Strings.

Returns:
the internally stored fids.

addFid

public final void addFid(String fid)
Deprecated. 

Adds a feature ID to the filter.

Specified by:
addFid in interface FidFilter
Parameters:
fid - A single feature ID.

addAllFids

public void addAllFids(Collection fidsToAdd)
Adds a collection of feature IDs to the filter.

Specified by:
addAllFids in interface FidFilter
Parameters:
fidsToAdd - A collection of feature IDs as strings.

removeFid

public final void removeFid(String fid)
Removes a feature ID from the filter.

Specified by:
removeFid in interface FidFilter
Parameters:
fid - A single feature ID.

removeAllFids

public void removeAllFids(Collection fidsToRemove)
Removes a collection of feature IDs from the filter.

Specified by:
removeAllFids in interface FidFilter
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:
SimpleFeaturePropertyAccessorFactory

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
Overrides:
accept in class FilterAbstract
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.


Copyright © 1996-2010 Geotools. All Rights Reserved.