org.geotools.filter.visitor
Class ExtractBoundsFilterVisitor

Object
  extended by NullFilterVisitor
      extended by ExtractBoundsFilterVisitor
All Implemented Interfaces:
ExpressionVisitor, FilterVisitor

public class ExtractBoundsFilterVisitor
extends NullFilterVisitor

Extract a maximal envelope from the provided Filter.

The maximal envelope is generated from:

Since geometry literals do not contains CRS information we can only produce a ReferencedEnvelope without CRS information. You can call this function with an existing ReferencedEnvelope or with your data CRS to correct for this limitation. ReferencedEnvelope example:

 ReferencedEnvelope bbox = (ReferencedEnvelope)
     filter.accepts(new ExtractBoundsFilterVisitor(), dataCRS );
 
You can also call this function with an existing Envelope; if you are building up bounds based on several filters.

This is a replacement for FilterConsumer.

Author:
Jody Garnett
Module:
modules/library/main (gt-main.jar)

Field Summary
static NullFilterVisitor BOUNDS_VISITOR
           
 
Fields inherited from class NullFilterVisitor
NULL_VISITOR
 
Constructor Summary
protected ExtractBoundsFilterVisitor()
          This FilterVisitor is stateless - use ExtractBoundsFilterVisitor.BOUNDS_VISITOR.
 
Method Summary
 Object visit(Add expression, Object data)
           
 Object visit(And filter, Object data)
           
 Object visit(BBOX filter, Object data)
           
 Object visit(Beyond filter, Object data)
           
 Object visit(Contains filter, Object data)
           
 Object visit(Crosses filter, Object data)
           
 Object visit(Disjoint filter, Object data)
           
 Object visit(Divide expression, Object data)
           
 Object visit(DWithin filter, Object data)
           
 Object visit(Equals filter, Object data)
           
 Object visit(ExcludeFilter filter, Object data)
           
 Object visit(Function expression, Object data)
           
 Object visit(Id filter, Object data)
           
 Object visit(IncludeFilter filter, Object data)
           
 Object visit(Intersects filter, Object data)
           
 Object visit(Literal expression, Object data)
          Please note we are only visiting literals involved in spatial operations.
 Object visit(Multiply expression, Object data)
           
 Object visit(NilExpression expression, Object data)
           
 Object visit(Not filter, Object data)
           
 Object visit(Or filter, Object data)
           
 Object visit(Overlaps filter, Object data)
           
 Object visit(PropertyIsBetween filter, Object data)
           
 Object visit(PropertyIsEqualTo filter, Object data)
           
 Object visit(PropertyIsGreaterThan filter, Object data)
           
 Object visit(PropertyIsGreaterThanOrEqualTo filter, Object data)
           
 Object visit(PropertyIsLessThan filter, Object data)
           
 Object visit(PropertyIsLessThanOrEqualTo filter, Object data)
           
 Object visit(PropertyIsLike filter, Object data)
           
 Object visit(PropertyIsNotEqualTo filter, Object data)
           
 Object visit(PropertyIsNull filter, Object data)
           
 Object visit(PropertyName expression, Object data)
           
 Object visit(Subtract expression, Object data)
           
 Object visit(Touches filter, Object data)
           
 Object visit(Within filter, Object data)
           
 Object visitNullFilter(Object data)
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOUNDS_VISITOR

public static NullFilterVisitor BOUNDS_VISITOR
Constructor Detail

ExtractBoundsFilterVisitor

protected ExtractBoundsFilterVisitor()
This FilterVisitor is stateless - use ExtractBoundsFilterVisitor.BOUNDS_VISITOR.

You may also subclass in order to reuse this functionality in your own FilterVisitor implementation.

Method Detail

visit

public Object visit(ExcludeFilter filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(IncludeFilter filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(BBOX filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Literal expression,
                    Object data)
Please note we are only visiting literals involved in spatial operations.

Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor
Parameters:
literal, - hopefully a Geometry or Envelope
data - Incoming BoundingBox (or Envelope or CRS)
Returns:
ReferencedEnvelope updated to reflect literal

visit

public Object visit(And filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Not filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Or filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Beyond filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Contains filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Crosses filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Disjoint filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(DWithin filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Equals filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Intersects filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Overlaps filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Touches filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Within filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Add expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Divide expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Function expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Id filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Multiply expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(NilExpression expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsBetween filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsEqualTo filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsGreaterThan filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsGreaterThanOrEqualTo filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsLessThan filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsLessThanOrEqualTo filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsLike filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsNotEqualTo filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyIsNull filter,
                    Object data)
Specified by:
visit in interface FilterVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(PropertyName expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visit

public Object visit(Subtract expression,
                    Object data)
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class NullFilterVisitor

visitNullFilter

public Object visitNullFilter(Object data)
Specified by:
visitNullFilter in interface FilterVisitor
Overrides:
visitNullFilter in class NullFilterVisitor


Copyright © 1996-2010 Geotools. All Rights Reserved.