|
||||||||||
| 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| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class FilterToSQL |
|---|
FilterToSQL.FieldEncoder |
| Field Summary |
|---|
| Fields inherited from class FilterToSQL |
|---|
capabilities, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, fieldEncoder, filterFactory, inline, IO_ERROR, mapper, out, primaryKey |
| Constructor Summary | |
|---|---|
FilterToSQLSDE(String layerQName,
String layerFidColName,
SimpleFeatureType ft,
PlainSelect definitionQuery,
ISession session)
|
|
| 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)
overrides 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)
Visit Filter.EXCLUDE (often used during data structure transformations). |
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)
Visit Filter.INCLUDE (often used during data structure transformations). |
Object |
visit(PropertyName expression,
Object extraData)
Writes the SQL for the attribute Expression. |
protected void |
writeLiteral(Object literal)
Writes out a non null, non geometry literal. |
| 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, 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,
ISession session)
layerQName - full qualified name of the ArcSDE layerlayerFidColName - name of the column that holds fidsft - definitionQuery - conn2 - only used to encode date literals in a RDBMS specific format according to
SeDate.toWhereStr(SeConnection)| 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 FilterToSQLfilter - the Filter to be encoded.
FilterToSQLException
public Object visit(Id filter,
Object unused)
visit in interface FilterVisitorvisit in class FilterToSQLfilter - the Fid Filter.
public Object visit(PropertyName expression,
Object extraData)
throws RuntimeException
visit in interface ExpressionVisitorvisit in class FilterToSQLexpression - the attribute to turn to SQL.
RuntimeException - for io exception with writer
protected Object visit(BinaryLogicOperator filter,
Object extraData)
filter has no children.
visit in class FilterToSQLfilter - 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)
FilterVisitorFilter.EXCLUDE (often used during data structure transformations).
visit in interface FilterVisitorvisit in class FilterToSQLthe - filter to be visited
FilterVisitor#visit(ExcludeFilter, Object)} Writes the SQL for the IncludeFilter
by writing "FALSE".
public Object visit(IncludeFilter filter,
Object extraData)
FilterVisitorFilter.INCLUDE (often used during data structure transformations).
visit in interface FilterVisitorvisit in class FilterToSQLthe - filter to be visited
FilterVisitor#visit(IncludeFilter, Object)} Writes the SQL for the IncludeFilter
by writing "TRUE".
protected void writeLiteral(Object literal)
throws IOException
FilterToSQL
writeLiteral in class FilterToSQLIOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||