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,
Object singleArgument,
ExpressionOperator operator)
INTERNAL:
|
Expression |
create(Expression base,
Vector arguments,
ExpressionOperator operator)
INTERNAL:
|
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(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(BufferedWriter writer)
INTERNAL:
Used to print a debug form of the expression tree.
|
void |
writeSubexpressionsTo(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, writeFields
protected ExpressionOperator operator
protected transient ExpressionOperator platformOperator
protected Expression firstChild
protected Expression secondChild
public DatabaseTable aliasForTable(DatabaseTable table)
aliasForTable
in class Expression
public Expression create(Expression base, Object singleArgument, ExpressionOperator operator)
create
in class Expression
public Expression create(Expression base, Vector arguments, ExpressionOperator operator)
create
in class Expression
public String descriptionOfNodeType()
descriptionOfNodeType
in class Expression
public ExpressionBuilder getBuilder()
getBuilder
in class Expression
public Expression getFirstChild()
public ExpressionOperator getOperator()
Expression
getOperator
in class Expression
public ExpressionOperator getPlatformOperator(DatabasePlatform platform)
public Expression getSecondChild()
public void initializePlatformOperator(DatabasePlatform platform)
public boolean isCompoundExpression()
Expression
isCompoundExpression
in class Expression
public void iterateOn(ExpressionIterator iterator)
iterateOn
in class Expression
public Expression normalize(ExpressionNormalizer normalizer)
normalize
in class Expression
public void validateNode()
validateNode
in class Expression
protected void postCopyIn(Dictionary alreadyDone)
postCopyIn
in class Expression
public void printSQL(ExpressionSQLPrinter printer)
printSQL
in class Expression
public void printJava(ExpressionJavaPrinter printer)
printJava
in class Expression
public Expression rebuildOn(Expression newBase)
rebuildOn
in class Expression
Expression.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 Expression
public void writeDescriptionOn(BufferedWriter writer) throws IOException
writeDescriptionOn
in class Expression
IOException
public void writeSubexpressionsTo(BufferedWriter writer, int indent) throws IOException
writeSubexpressionsTo
in class Expression
IOException
Copyright © 2022. All rights reserved.