deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.io.datastore.sql.generic
Class GenericSQLWhereBuilder

java.lang.Object
  extended by org.deegree.io.datastore.sql.wherebuilder.WhereBuilder
      extended by org.deegree.io.datastore.sql.generic.GenericSQLWhereBuilder

 class GenericSQLWhereBuilder
extends WhereBuilder

WhereBuilder implementation for the GenericSQLDatastore.

Uses the Quadtree to speed up BBOX queries.

Version:
$Revision: 21843 $, $Date: 2010-01-11 13:52:33 +0100 (Mo, 11. Jan 2010) $
Author:
Andreas Poth, last edited by: $Author: mschneider $
See Also:
org.deegree.io.quadtree

Field Summary
 
Fields inherited from class org.deegree.io.datastore.sql.wherebuilder.WhereBuilder
filter, filterPropertyPaths, queryTableTree, rootFts, sortProperties, sortPropertyPaths, SRS_UNDEFINED, vcProvider
 
Constructor Summary
GenericSQLWhereBuilder(MappedFeatureType[] rootFts, String[] aliases, Filter filter, SortProperty[] sortProperties, TableAliasGenerator aliasGenerator, VirtualContentProvider vcProvider, JDBCConnection jdbc)
          Creates a new instance of GenericSQLWhereBuilder from the given parameters.
 
Method Summary
protected  void appendPropertyIsLikeOperationAsSQL(StatementBuffer query, PropertyIsLikeOperation operation)
          Appends an SQL fragment for the given object to the given sql statement.
protected  void appendSpatialOperationAsSQL(StatementBuffer query, SpatialOperation operation)
          Generates an SQL-fragment for the given object.
 
Methods inherited from class org.deegree.io.datastore.sql.wherebuilder.WhereBuilder
appendArithmeticExpressionAsSQL, appendComparisonOperationAsSQL, appendComplexFilterAsSQL, appendExpressionAsSQL, appendFeatureFilterAsSQL, appendFunctionAsSQL, appendJoinTableList, appendLiteralAsSQL, appendLogicalOperationAsSQL, appendOperationAsSQL, appendOrderByCondition, appendPropertyIsBetweenOperationAsSQL, appendPropertyIsCOMPOperationAsSQL, appendPropertyIsNullOperationAsSQL, appendPropertyNameAsSQL, appendPropertyPathAsSQL, appendWhereCondition, buildFilterPropertyNameMap, fillFunctionNameMap, getFilter, getFunctionName, getGeometryProperty, getPropertyNameSQLType, getRootTableAlias
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericSQLWhereBuilder

public GenericSQLWhereBuilder(MappedFeatureType[] rootFts,
                              String[] aliases,
                              Filter filter,
                              SortProperty[] sortProperties,
                              TableAliasGenerator aliasGenerator,
                              VirtualContentProvider vcProvider,
                              JDBCConnection jdbc)
                       throws DatastoreException
Creates a new instance of GenericSQLWhereBuilder from the given parameters.

Parameters:
rootFts - selected feature types, more than one type means that the types are joined
aliases - aliases for the feature types, may be null (must have same length as rootFts otherwise)
filter - filter that restricts the matched features
sortProperties - sort criteria for the result, may be null or empty
aliasGenerator - used to generate unique table aliases
vcProvider -
jdbc -
Throws:
DatastoreException
Method Detail

appendPropertyIsLikeOperationAsSQL

protected void appendPropertyIsLikeOperationAsSQL(StatementBuffer query,
                                                  PropertyIsLikeOperation operation)
                                           throws FilterEvaluationException
Appends an SQL fragment for the given object to the given sql statement. NOTE: Currently, the method uses a quirk and appends the generated argument inline, i.e. not using query.addArgument(). Works around an SQL error on HSQLDB that would occur otherwise.

Overrides:
appendPropertyIsLikeOperationAsSQL in class WhereBuilder
Parameters:
query -
operation -
Throws:
FilterEvaluationException

appendSpatialOperationAsSQL

protected void appendSpatialOperationAsSQL(StatementBuffer query,
                                           SpatialOperation operation)
                                    throws DatastoreException
Generates an SQL-fragment for the given object. TODO: Implement BBOX faster using explicit B0X-constructor

Overrides:
appendSpatialOperationAsSQL in class WhereBuilder
Throws:
DatastoreException

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org