org.geotools.arcsde.filter
Class GeometryEncoderSDE

java.lang.Object
  extended by org.geotools.arcsde.filter.GeometryEncoderSDE
All Implemented Interfaces:
org.opengis.filter.FilterVisitor

public class GeometryEncoderSDE
extends java.lang.Object
implements org.opengis.filter.FilterVisitor

Encodes the geometry related parts of a filter into a set of SeFilter objects and provides a method to get the resulting filters suitable to set up an SeQuery's spatial constraints.

Although not all filters support is coded yet, the strategy to filtering queries for ArcSDE datasources is separated in two parts, the SQL where clause construction, provided by FilterToSQLSDE and the spatial filters (or spatial constraints, in SDE vocabulary) provided here; mirroring the java SDE api approach

Author:
Gabriel Rold?n

Constructor Summary
GeometryEncoderSDE()
           
GeometryEncoderSDE(SeLayer layer, org.opengis.feature.simple.SimpleFeatureType featureType)
           
 
Method Summary
 void encode(org.opengis.filter.Filter filter)
          overriden just to avoid the "WHERE" keyword
static FilterCapabilities getCapabilities()
          DOCUMENT ME!
 SeFilter[] getSpatialFilters()
          DOCUMENT ME!
 java.lang.Object visit(org.opengis.filter.And filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.BBOX filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Beyond filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Contains filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Crosses filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Disjoint filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.DWithin filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Equals filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.ExcludeFilter filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.Id filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.IncludeFilter filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Intersects filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.Not filter, java.lang.Object extraData)
          Sets extraData to Boolean.FALSE to revert the truth value of the spatial filter contained, if any.
 java.lang.Object visit(org.opengis.filter.Or filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Overlaps filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsBetween filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsEqualTo filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsGreaterThan filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsGreaterThanOrEqualTo filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsLessThan filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsLessThanOrEqualTo filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsLike filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsNotEqualTo filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsNull filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Touches filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Within filter, java.lang.Object extraData)
           
 java.lang.Object visitNullFilter(java.lang.Object arg0)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeometryEncoderSDE

public GeometryEncoderSDE()

GeometryEncoderSDE

public GeometryEncoderSDE(SeLayer layer,
                          org.opengis.feature.simple.SimpleFeatureType featureType)
Method Detail

getCapabilities

public static FilterCapabilities getCapabilities()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getSpatialFilters

public SeFilter[] getSpatialFilters()
DOCUMENT ME!

Returns:
DOCUMENT ME!

encode

public void encode(org.opengis.filter.Filter filter)
            throws GeometryEncoderException
overriden just to avoid the "WHERE" keyword

Parameters:
filter - DOCUMENT ME!
Throws:
GeometryEncoderException - DOCUMENT ME!

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

public java.lang.Object visit(org.opengis.filter.Not filter,
                              java.lang.Object extraData)
Sets extraData to Boolean.FALSE to revert the truth value of the spatial filter contained, if any.

Specified by:
visit in interface org.opengis.filter.FilterVisitor

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visitNullFilter

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


Copyright © 1996-2010 Geotools. All Rights Reserved.