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

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(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(DWithin filter, Object data)
           
 Object visit(Equals filter, Object data)
           
 Object visit(ExcludeFilter 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(Overlaps filter, Object data)
           
 Object visit(Touches filter, Object data)
           
 Object visit(Within filter, Object data)
           
 
Methods inherited from class NullFilterVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitNullFilter
 
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(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


Copyright © 1996-2009 Geotools. All Rights Reserved.