Package org.geotools.filter
Class FidFilterImpl
- Object
-
- FilterAbstract
-
- AbstractFilter
-
- 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
-
-
Field Summary
-
Fields inherited from interface FilterType
ALL, 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, NONE, NULL
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FidFilterImpl(Set<? extends Identifier> fids)
Constructor which takesIdentifier
, not String.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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)
Adds a feature ID to the filter.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.Set<String>
getFidsSet()
Accessor method for fid set as Strings.Set<Identifier>
getIdentifiers()
Returns the set of identifiers used by this filter.Set<Object>
getIDs()
Set of IDs representing the Identifiers used by this filter.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 AbstractFilter
isCompareFilter, isGeometryDistanceFilter, isGeometryFilter, isLogicFilter, isMathFilter, isSimpleFilter
-
Methods inherited from class FilterAbstract
accepts, eval, eval
-
-
-
-
Constructor Detail
-
FidFilterImpl
protected FidFilterImpl(Set<? extends Identifier> fids)
Constructor which takesIdentifier
, not String.
-
-
Method Detail
-
getIDs
public Set<Object> getIDs()
Description copied from interface:Id
Set of IDs representing the Identifiers used by this filter.- Specified by:
getIDs
in interfaceId
- See Also:
Id.getIDs()
-
getIdentifiers
public Set<Identifier> getIdentifiers()
Description copied from interface:Id
Returns the set of identifiers used by this filter.- Specified by:
getIdentifiers
in interfaceId
- See Also:
Id.getIdentifiers()
-
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 withfeature
has to support the request of the expression"@id"
- Specified by:
evaluate
in interfaceFilter
- 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.
-
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.
-
equals
public boolean equals(Object filter)
Returns a flag indicating object equality.
-
-