org.geotools.data.complex.filter
Class MultiValuedOrImpl

java.lang.Object
  extended by org.geotools.filter.FilterAbstract
      extended by org.geotools.filter.AbstractFilter
          extended by org.geotools.filter.BinaryLogicAbstract
              extended by org.geotools.filter.LogicFilterImpl
                  extended by org.geotools.filter.OrImpl
                      extended by org.geotools.data.complex.filter.MultiValuedOrImpl
All Implemented Interfaces:
FilterType, LogicFilter, org.opengis.filter.BinaryLogicOperator, org.opengis.filter.Filter, org.opengis.filter.Or

public class MultiValuedOrImpl
extends OrImpl

A wrapper filter for filters involving nested features. Such filter involves nested attributes that come from a different type/table, and is evaluated on the simple feature level (expecting a single value), and join queries aren't supported. Therefore it won't work for multi-valued attributes.. this is why NestedAttributeExpression is used to return all the possible values (multi-valued). This wrapper filter will then get all the possible values from NestedAttributeExpression and applies the filter for each value.

Author:
Rini Angreani, CSIRO Earth Science and Resource Engineering

Field Summary
 
Fields inherited from class org.geotools.filter.BinaryLogicAbstract
children
 
Fields inherited from class org.geotools.filter.AbstractFilter
filterType, permissiveConstruction
 
Fields inherited from class org.geotools.filter.FilterAbstract
factory
 
Fields inherited from interface org.opengis.filter.Filter
EXCLUDE, INCLUDE
 
Fields inherited from interface org.geotools.filter.Filter
ALL, NONE
 
Fields inherited from interface org.geotools.filter.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
 
Constructor Summary
MultiValuedOrImpl(org.opengis.filter.FilterFactory ff, org.opengis.filter.Filter filter, NestedAttributeExpression expression)
           
 
Method Summary
 java.lang.Object accept(org.opengis.filter.FilterVisitor visitor, java.lang.Object extraData)
          Used by FilterVisitors to perform some action on this filter instance.
 boolean evaluate(java.lang.Object feature)
           
 
Methods inherited from class org.geotools.filter.LogicFilterImpl
addFilter, and, equals, getFilterIterator, hashCode, not, or, toString
 
Methods inherited from class org.geotools.filter.BinaryLogicAbstract
getChildren, setChildren
 
Methods inherited from class org.geotools.filter.AbstractFilter
accept, contains, getFilterType, isCompareFilter, isGeometryDistanceFilter, isGeometryFilter, isLogicFilter, isMathFilter, isSimpleFilter
 
Methods inherited from class org.geotools.filter.FilterAbstract
accepts, eval, eval, eval, evaluate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opengis.filter.BinaryLogicOperator
getChildren
 
Methods inherited from interface org.geotools.filter.LogicFilter
contains
 
Methods inherited from interface org.geotools.filter.Filter
accept, evaluate, getFilterType
 

Constructor Detail

MultiValuedOrImpl

public MultiValuedOrImpl(org.opengis.filter.FilterFactory ff,
                         org.opengis.filter.Filter filter,
                         NestedAttributeExpression expression)
Method Detail

evaluate

public boolean evaluate(java.lang.Object feature)
Specified by:
evaluate in interface org.opengis.filter.Filter
Overrides:
evaluate in class OrImpl

accept

public java.lang.Object accept(org.opengis.filter.FilterVisitor visitor,
                               java.lang.Object extraData)
Description copied from class: LogicFilterImpl
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 org.opengis.filter.Filter
Overrides:
accept in class OrImpl
Parameters:
visitor - The visitor which requires access to this filter, the method must call visitor.visit(this);


Copyright © 1996-2010 Geotools. All Rights Reserved.