org.geotools.filter.visitor
Class DefaultFilterVisitor

java.lang.Object
  extended by org.geotools.filter.visitor.DefaultFilterVisitor
All Implemented Interfaces:
org.opengis.filter.expression.ExpressionVisitor, org.opengis.filter.FilterVisitor
Direct Known Subclasses:
FilterAttributeExtractor, GeometryFilterChecker, GeometryTransformationVisitor, IdCollectorFilterVisitor

public abstract class DefaultFilterVisitor
extends java.lang.Object
implements org.opengis.filter.FilterVisitor, org.opengis.filter.expression.ExpressionVisitor

Abstract implementation of FilterVisitor that simply walks the data structure.

This class implements the full FilterVisitor interface and will visit every Filter member of a Filter object. This class performs no actions and is not intended to be used directly, instead extend it and overide the methods for the Filter type you are interested in. Remember to call the super method if you want to ensure that the entire filter tree is still visited.


 FilterVisitor allFids = new DefaultFilterVisitor(){
     public Object visit( Id filter, Object data ) {
         Set set = (Set) data;
         set.addAll(filter.getIDs());
         return set;
     }
 };
 Set set = (Set) myFilter.accept(allFids, new HashSet());
 

Author:
Jody

Constructor Summary
DefaultFilterVisitor()
           
 
Method Summary
 java.lang.Object visit(org.opengis.filter.expression.Add expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.And filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.BBOX filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Beyond filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Contains filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Crosses filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Disjoint filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.Divide expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.DWithin filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Equals filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.ExcludeFilter filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.Function expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.Id filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.IncludeFilter filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Intersects filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.Literal expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.Multiply expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.NilExpression expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.Not filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.Or filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Overlaps filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsBetween filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsEqualTo filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsGreaterThan filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsGreaterThanOrEqualTo filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsLessThan filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsLessThanOrEqualTo filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsLike filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsNotEqualTo filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsNull filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.PropertyName expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.expression.Subtract expression, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Touches filter, java.lang.Object data)
           
 java.lang.Object visit(org.opengis.filter.spatial.Within filter, java.lang.Object data)
           
 java.lang.Object visitNullFilter(java.lang.Object data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultFilterVisitor

public DefaultFilterVisitor()
Method Detail

visit

public java.lang.Object visit(org.opengis.filter.ExcludeFilter filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.IncludeFilter filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.And filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.Id filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.Not filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.Or filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsBetween filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsEqualTo filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsNotEqualTo filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsGreaterThan filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsGreaterThanOrEqualTo filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsLessThan filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsLessThanOrEqualTo filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsLike filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsNull filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.BBOX filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Beyond filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Contains filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Crosses filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Disjoint filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.DWithin filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Equals filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Intersects filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Overlaps filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Touches filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Within filter,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.FilterVisitor

visitNullFilter

public java.lang.Object visitNullFilter(java.lang.Object data)
Specified by:
visitNullFilter in interface org.opengis.filter.FilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.NilExpression expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.Add expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.Divide expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.Function expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.Literal expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.Multiply expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.PropertyName expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor

visit

public java.lang.Object visit(org.opengis.filter.expression.Subtract expression,
                              java.lang.Object data)
Specified by:
visit in interface org.opengis.filter.expression.ExpressionVisitor


Copyright © 1996-2010 Geotools. All Rights Reserved.