Class SQLBuilder
- java.lang.Object
-
- net.ontopia.persistence.query.sql.SQLBuilder
-
public class SQLBuilder extends Object
INTERNAL: Class used to build SQL queries from JDO queries.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
debug
protected ObjectRelationalMappingIF
mapping
-
Constructor Summary
Constructors Constructor Description SQLBuilder(ObjectRelationalMappingIF mapping)
SQLBuilder(ObjectRelationalMappingIF mapping, boolean debug)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Class
checkCompatibility(JDOValueIF value, Class type, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected Class
checkCompatibility(JDOValueIF value1, JDOValueIF value2, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected FieldInfoIF
getFieldInfo(JDOCollection coll, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected FieldInfoIF
getFieldInfo(JDOField field, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected FieldInfoIF
getFieldInfo(JDOObject object, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected FieldInfoIF
getFieldInfo(JDOParameter param, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected FieldInfoIF
getFieldInfo(JDOValueIF jdovalue, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected FieldInfoIF
getFieldInfo(JDOVariable var, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLQuery
getFirstSQLQuery(SQLSetOperation sqlset)
protected Class
getIdentifiableValueType(JDOField field, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected Class
getIdentifiableValueType(JDOValueIF jdovalue, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected String[]
getInlineColumns(FieldInfoIF finfo)
protected String[]
getKeyColumns(FieldInfoIF finfo)
protected int
getSQLOrder(JDOOrderBy orderby)
protected Class
getValueType(JDOField field, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected Class
getValueType(JDOValueIF value, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected boolean
isAggregateParameter(String param, JDOQuery jdoquery)
protected boolean
isAggregateType(Class type)
protected boolean
isAggregateVariable(String var, JDOQuery jdoquery)
protected boolean
isIdentifiableParameter(String param, JDOQuery jdoquery)
protected boolean
isIdentifiableType(Class type)
protected boolean
isIdentifiableValueType(JDOValueIF jdovalue, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected boolean
isIdentifiableVariable(String var, JDOQuery jdoquery)
protected boolean
isPrimitiveParameter(String param, JDOQuery jdoquery)
protected boolean
isPrimitiveType(Class type)
protected boolean
isPrimitiveVariable(String var, JDOQuery jdoquery)
protected SQLExpressionIF
makeAndExpression(List<SQLExpressionIF> expressions)
protected SQLExpressionIF
makeOrExpression(SQLExpressionIF[] expressions)
SQLQuery
makeQuery(JDOQuery jdoquery, ObjectAccessIF oaccess)
protected void
produceAnd(JDOAnd and_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceBoolean(JDOBoolean boolean_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceCollection(JDOCollection coll, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceContains(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceEndsWith(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceEquals(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceExpression(JDOExpressionIF jdoexpr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLExpressionIF[]
produceExpressions(JDOExpressionIF[] jdoexprs, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceField(JDOField field, SQLTable endtable, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected net.ontopia.persistence.query.sql.SQLBuilder.Values
produceFieldValues(JDOField field, SQLTable endtable, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceFunction(JDOFunction func, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceIsEmpty(JDOValueIF value, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceLike(JDOValueIF left, JDOValueIF right, boolean caseSensitive, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceLikeWithPattern(JDOValueIF left, JDOValueIF right, boolean caseSensitive, List<SQLExpressionIF> expressions, boolean starts_not_ends, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceNativeValue(JDONativeValue field, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceNot(JDONot not_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceNotEquals(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceObject(JDOObject object, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected net.ontopia.persistence.query.sql.SQLBuilder.Values
produceObjectFieldValues(JDOObject obj, String[] path, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceOr(JDOOr or_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceParameter(JDOParameter par, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
producePrimitive(JDOPrimitive primitive, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLAggregateIF
produceSelectSQLAggregateIF(JDOAggregateIF aggregate, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceSelectSQLValueIF(JDOValueIF value, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLSetOperation
produceSetOperation(JDOSetOperation setop_expr, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLOrderBy
produceSQLOrderBy(JDOOrderBy orderby, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceStartsWith(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceValue(JDOValueIF value, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected void
produceValueExpression(JDOValueExpression jdoexpr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF[]
produceValues(JDOValueIF[] values, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLValueIF
produceVariable(JDOVariable var, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected net.ontopia.persistence.query.sql.SQLBuilder.Values
produceVariableFieldValues(JDOValueIF root, String[] path, SQLTable endtable, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
protected SQLAggregateIF
wrapAggregate(int aggtype, SQLValueIF sqlvalue)
-
-
-
Field Detail
-
debug
protected boolean debug
-
mapping
protected ObjectRelationalMappingIF mapping
-
-
Constructor Detail
-
SQLBuilder
public SQLBuilder(ObjectRelationalMappingIF mapping)
-
SQLBuilder
public SQLBuilder(ObjectRelationalMappingIF mapping, boolean debug)
-
-
Method Detail
-
makeQuery
public SQLQuery makeQuery(JDOQuery jdoquery, ObjectAccessIF oaccess)
-
getFirstSQLQuery
protected SQLQuery getFirstSQLQuery(SQLSetOperation sqlset)
-
produceSQLOrderBy
protected SQLOrderBy produceSQLOrderBy(JDOOrderBy orderby, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getSQLOrder
protected int getSQLOrder(JDOOrderBy orderby)
-
produceSelectSQLValueIF
protected SQLValueIF produceSelectSQLValueIF(JDOValueIF value, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getKeyColumns
protected String[] getKeyColumns(FieldInfoIF finfo)
-
getInlineColumns
protected String[] getInlineColumns(FieldInfoIF finfo)
-
produceSelectSQLAggregateIF
protected SQLAggregateIF produceSelectSQLAggregateIF(JDOAggregateIF aggregate, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
wrapAggregate
protected SQLAggregateIF wrapAggregate(int aggtype, SQLValueIF sqlvalue)
-
makeAndExpression
protected SQLExpressionIF makeAndExpression(List<SQLExpressionIF> expressions)
-
makeOrExpression
protected SQLExpressionIF makeOrExpression(SQLExpressionIF[] expressions)
-
produceExpression
protected void produceExpression(JDOExpressionIF jdoexpr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceSetOperation
protected SQLSetOperation produceSetOperation(JDOSetOperation setop_expr, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceBoolean
protected void produceBoolean(JDOBoolean boolean_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceValueExpression
protected void produceValueExpression(JDOValueExpression jdoexpr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceAnd
protected void produceAnd(JDOAnd and_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceNot
protected void produceNot(JDONot not_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceOr
protected void produceOr(JDOOr or_expr, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceExpressions
protected SQLExpressionIF[] produceExpressions(JDOExpressionIF[] jdoexprs, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceEquals
protected void produceEquals(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceNotEquals
protected void produceNotEquals(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceContains
protected void produceContains(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceIsEmpty
protected void produceIsEmpty(JDOValueIF value, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceStartsWith
protected void produceStartsWith(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceEndsWith
protected void produceEndsWith(JDOValueIF left, JDOValueIF right, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceLike
protected void produceLike(JDOValueIF left, JDOValueIF right, boolean caseSensitive, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceLikeWithPattern
protected void produceLikeWithPattern(JDOValueIF left, JDOValueIF right, boolean caseSensitive, List<SQLExpressionIF> expressions, boolean starts_not_ends, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceValues
protected SQLValueIF[] produceValues(JDOValueIF[] values, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceValue
protected SQLValueIF produceValue(JDOValueIF value, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceField
protected SQLValueIF produceField(JDOField field, SQLTable endtable, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceFieldValues
protected net.ontopia.persistence.query.sql.SQLBuilder.Values produceFieldValues(JDOField field, SQLTable endtable, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceVariableFieldValues
protected net.ontopia.persistence.query.sql.SQLBuilder.Values produceVariableFieldValues(JDOValueIF root, String[] path, SQLTable endtable, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceObjectFieldValues
protected net.ontopia.persistence.query.sql.SQLBuilder.Values produceObjectFieldValues(JDOObject obj, String[] path, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceVariable
protected SQLValueIF produceVariable(JDOVariable var, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceParameter
protected SQLValueIF produceParameter(JDOParameter par, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
producePrimitive
protected SQLValueIF producePrimitive(JDOPrimitive primitive, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceNativeValue
protected SQLValueIF produceNativeValue(JDONativeValue field, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceFunction
protected SQLValueIF produceFunction(JDOFunction func, List<SQLExpressionIF> expressions, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceObject
protected SQLValueIF produceObject(JDOObject object, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
produceCollection
protected SQLValueIF produceCollection(JDOCollection coll, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getFieldInfo
protected FieldInfoIF getFieldInfo(JDOValueIF jdovalue, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getFieldInfo
protected FieldInfoIF getFieldInfo(JDOVariable var, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getFieldInfo
protected FieldInfoIF getFieldInfo(JDOParameter param, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getFieldInfo
protected FieldInfoIF getFieldInfo(JDOObject object, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getFieldInfo
protected FieldInfoIF getFieldInfo(JDOCollection coll, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getFieldInfo
protected FieldInfoIF getFieldInfo(JDOField field, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
checkCompatibility
protected Class checkCompatibility(JDOValueIF value1, JDOValueIF value2, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
checkCompatibility
protected Class checkCompatibility(JDOValueIF value, Class type, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getValueType
protected Class getValueType(JDOValueIF value, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getValueType
protected Class getValueType(JDOField field, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
isIdentifiableValueType
protected boolean isIdentifiableValueType(JDOValueIF jdovalue, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getIdentifiableValueType
protected Class getIdentifiableValueType(JDOValueIF jdovalue, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
getIdentifiableValueType
protected Class getIdentifiableValueType(JDOField field, net.ontopia.persistence.query.sql.SQLBuilder.BuildInfo info)
-
isIdentifiableType
protected boolean isIdentifiableType(Class type)
-
isAggregateType
protected boolean isAggregateType(Class type)
-
isPrimitiveType
protected boolean isPrimitiveType(Class type)
-
-