|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectFilterToSQL
FilterToSQLSDE
public class FilterToSQLSDE
Encodes an attribute filter into a SQL WHERE statement for arcsde.
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 here and the
spatial filters (or spatial constraints, in SDE vocabulary) provided by
GeometryEncoderSDE
; mirroring the java SDE api approach for easy programing
org.geotools.data.sde.GeometryEncoderSDE
Field Summary |
---|
Fields inherited from class FilterToSQL |
---|
capabilities, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, IO_ERROR, mapper, out, primaryKey |
Constructor Summary | |
---|---|
FilterToSQLSDE(String layerQName,
String layerFidColName,
SimpleFeatureType ft,
PlainSelect definitionQuery)
|
Method Summary | |
---|---|
protected FilterCapabilities |
createFilterCapabilities()
Overrides the superclass implementation to indicate that we support pushing FeatureId filters down into the data store. |
void |
encode(Filter filter)
overriden just to avoid the "WHERE" keyword |
String |
getColumnDefinition(String alias)
Returns the full qualifed name of sql expression that is registered as the source of the attribute named alias . |
protected Object |
visit(BinaryLogicOperator filter,
Object extraData)
Overrides to avoid encoding an empty operator if filter has no children. |
Object |
visit(ExcludeFilter filter,
Object extraData)
|
Object |
visit(Id filter,
Object unused)
This only exists the fulfill the interface - unless There is a way of determining the FID column in the database... |
Object |
visit(IncludeFilter filter,
Object extraData)
|
Object |
visit(PropertyName expression,
Object extraData)
Writes the SQL for the attribute Expression. |
Methods inherited from class FilterToSQL |
---|
encode, encodeToString, encodeToString, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, getFIDMapper, getPrimaryKey, setCapabilities, setDatabaseSchema, setFeatureType, setFIDMapper, setPrimaryKey, setSqlNameEscape, setWriter, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinarySpatialOperator, visitLiteralGeometry, visitNullFilter, writeLiteral |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface FilterVisitor |
---|
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitNullFilter |
Constructor Detail |
---|
public FilterToSQLSDE(String layerQName, String layerFidColName, SimpleFeatureType ft, PlainSelect definitionQuery)
layerQName
- full qualified name of the ArcSDE layerlayerFidColName
- name of the column that holds fidsft
- definitionQuery
- Method Detail |
---|
public String getColumnDefinition(String alias)
alias
.
alias
-
protected FilterCapabilities createFilterCapabilities()
createFilterCapabilities
in class FilterToSQL
public void encode(Filter filter) throws FilterToSQLException
encode
in class FilterToSQL
out
- DOCUMENT ME!filter
- DOCUMENT ME!
GeoAPIFilterToSQLEncoderException
- DOCUMENT ME!
FilterToSQLException
public Object visit(Id filter, Object unused)
visit
in interface FilterVisitor
visit
in class FilterToSQL
filter
- the Fid Filter.
RuntimeException
- DOCUMENT ME!public Object visit(PropertyName expression, Object extraData) throws RuntimeException
visit
in interface ExpressionVisitor
visit
in class FilterToSQL
expression
- the attribute to turn to SQL.
RuntimeException
- for io exception with writerprotected Object visit(BinaryLogicOperator filter, Object extraData)
filter
has no children.
visit
in class FilterToSQL
filter
- the logic statement to be turned into SQL.extraData
- extra filter data. Not modified directly by this method.public Object visit(ExcludeFilter filter, Object extraData)
visit
in interface FilterVisitor
visit
in class FilterToSQL
the
- filter to be visitedFilterVisitor#visit(ExcludeFilter, Object)} Writes the SQL for the IncludeFilter
by writing "FALSE".
public Object visit(IncludeFilter filter, Object extraData)
visit
in interface FilterVisitor
visit
in class FilterToSQL
the
- filter to be visitedFilterVisitor#visit(IncludeFilter, Object)} Writes the SQL for the IncludeFilter
by writing "TRUE".
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |