public abstract class CompoundExpression extends Expression
| Modifier and Type | Field and Description |
|---|---|
protected Expression |
firstChild |
protected ExpressionOperator |
operator |
protected ExpressionOperator |
platformOperator |
protected Expression |
secondChild |
currentAlias, lastTable, selectIfOrderedBy| Constructor and Description |
|---|
CompoundExpression() |
| Modifier and Type | Method and Description |
|---|---|
DatabaseTable |
aliasForTable(DatabaseTable table)
INTERNAL:
Find the alias for a given table from the first or second child in the additionalOuterJoinCriteria
|
Expression |
create(Expression base,
java.lang.Object singleArgument,
ExpressionOperator operator)
INTERNAL:
|
Expression |
create(Expression base,
java.util.Vector arguments,
ExpressionOperator operator)
INTERNAL:
|
java.lang.String |
descriptionOfNodeType()
INTERNAL:
Used for debug printing.
|
ExpressionBuilder |
getBuilder()
Return the expression builder which is the ultimate base of this expression, or
null if there isn't one (shouldn't happen if we start from a root)
|
Expression |
getFirstChild() |
ExpressionOperator |
getOperator()
INTERNAL:
Most expression have operators, so this is just a convenience method.
|
ExpressionOperator |
getPlatformOperator(DatabasePlatform platform) |
Expression |
getSecondChild() |
void |
initializePlatformOperator(DatabasePlatform platform)
INTERNAL:
|
boolean |
isCompoundExpression()
INTERNAL:
|
void |
iterateOn(ExpressionIterator iterator)
INTERNAL:
For iterating using an inner class
|
Expression |
normalize(ExpressionNormalizer normalizer)
INTERNAL:
Normalize into a structure that is printable.
|
protected void |
postCopyIn(java.util.Dictionary alreadyDone)
INTERNAL:
Used for cloning.
|
void |
printJava(ExpressionJavaPrinter printer)
INTERNAL:
Print java for project class generation
|
void |
printSQL(ExpressionSQLPrinter printer)
INTERNAL:
Print SQL
|
Expression |
rebuildOn(Expression newBase)
INTERNAL:
This expression is built on a different base than the one we want.
|
protected void |
setFirstChild(Expression firstChild) |
void |
setOperator(ExpressionOperator newOperator) |
protected void |
setSecondChild(Expression secondChild) |
Expression |
twistedForBaseAndContext(Expression newBase,
Expression context)
INTRENAL:
Used to change an expression off of one base to an expression off of a different base.
|
void |
validateNode()
Do any required validation for this node.
|
void |
writeDescriptionOn(java.io.BufferedWriter writer)
INTERNAL:
Used to print a debug form of the expression tree.
|
void |
writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
INTERNAL:
Used for toString for debugging only.
|
addDate, addDate, addMonths, addMonths, all, all, all, all, all, all, all, all, all, all, all, all, allOf, and, any, any, any, any, any, any, any, any, any, any, any, any, anyOf, anyOfAllowingNone, ascending, asciiValue, assignAlias, assignTableAliasesStartingAt, average, between, between, between, between, between, between, between, between, between, caseStatement, clone, cloneUsing, concat, containsAllKeyWords, containsAnyKeyWords, containsSubstring, containsSubstring, containsSubstringIgnoringCase, containsSubstringIgnoringCase, convertNodeToUseOuterJoin, convertToUseOuterJoin, copiedVersionFrom, count, createWithBaseLast, currentDate, currentDateDate, currentTime, currentTimeStamp, dateDifference, dateDifference, dateName, datePart, dateToString, decode, descending, detectExpression, difference, distinct, doesConform, doesConform, equal, equal, equal, equal, equal, equal, equal, equal, equal, equal, equalOuterJoin, equalOuterJoin, equalsIgnoreCase, equalsIgnoreCase, exists, existsNode, extract, extractPrimaryKeyValues, extractValue, from, fromConstant, fromLiteral, get, get, getAllowingNull, getAllowingNull, getClonedField, getField, getField, getFields, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getName, getNumberVal, getOperator, getOwnedTables, getParameter, getParameter, getParameter, getSession, getStringVal, getTable, getTable, getTableAliases, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, hasAsOfClause, hasBeenAliased, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, indexOf, isConstantExpression, isDataExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isFunctionExpression, isLiteralExpression, isLogicalExpression, isNull, isObjectExpression, isParameterExpression, isQueryKeyExpression, isRelationExpression, isTableExpression, isValueExpression, lastDay, leftPad, leftPad, leftTrim, leftTrim, length, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThan, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, lessThanEqual, like, like, like, like, likeIgnoreCase, likeIgnoreCase, literal, locate, locate, locate, maximum, minimum, monthsBetween, newTime, nextDay, noneOf, not, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notBetween, notEmpty, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notExists, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notIn, notLike, notLike, notNull, or, performOperator, postfixSQL, prefixSQL, printSQLWithoutConversion, ref, registerIn, replace, replicate, replicate, resetCache, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setLocalBase, setSelectIfOrderedBy, shallowClone, size, some, some, some, some, some, some, some, some, some, some, some, some, standardDeviation, subQuery, substring, substring, sum, toChar, toChar, toCharacter, toDate, toLowerCase, toNumber, toString, toString, toUpperCase, toUppercaseCasedWords, translate, trim, trim, truncateDate, twist, value, value, value, value, value, value, value, value, value, value, valueFromObject, valueFromObject, variance, writeField, writeFieldsprotected ExpressionOperator operator
protected transient ExpressionOperator platformOperator
protected Expression firstChild
protected Expression secondChild
public DatabaseTable aliasForTable(DatabaseTable table)
aliasForTable in class Expressionpublic Expression create(Expression base, java.lang.Object singleArgument, ExpressionOperator operator)
create in class Expressionpublic Expression create(Expression base, java.util.Vector arguments, ExpressionOperator operator)
create in class Expressionpublic java.lang.String descriptionOfNodeType()
descriptionOfNodeType in class Expressionpublic ExpressionBuilder getBuilder()
getBuilder in class Expressionpublic Expression getFirstChild()
public ExpressionOperator getOperator()
ExpressiongetOperator in class Expressionpublic ExpressionOperator getPlatformOperator(DatabasePlatform platform)
public Expression getSecondChild()
public void initializePlatformOperator(DatabasePlatform platform)
public boolean isCompoundExpression()
ExpressionisCompoundExpression in class Expressionpublic void iterateOn(ExpressionIterator iterator)
iterateOn in class Expressionpublic Expression normalize(ExpressionNormalizer normalizer)
normalize in class Expressionpublic void validateNode()
validateNode in class Expressionprotected void postCopyIn(java.util.Dictionary alreadyDone)
postCopyIn in class Expressionpublic void printSQL(ExpressionSQLPrinter printer)
printSQL in class Expressionpublic void printJava(ExpressionJavaPrinter printer)
printJava in class Expressionpublic Expression rebuildOn(Expression newBase)
rebuildOn in class ExpressionExpression.cloneUsing(Expression newBase)protected void setFirstChild(Expression firstChild)
public void setOperator(ExpressionOperator newOperator)
protected void setSecondChild(Expression secondChild)
public Expression twistedForBaseAndContext(Expression newBase, Expression context)
twistedForBaseAndContext in class Expressionpublic void writeDescriptionOn(java.io.BufferedWriter writer)
throws java.io.IOException
writeDescriptionOn in class Expressionjava.io.IOExceptionpublic void writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
throws java.io.IOException
writeSubexpressionsTo in class Expressionjava.io.IOException