Class ArgumentListFunctionExpression
- java.lang.Object
-
- org.eclipse.persistence.expressions.Expression
-
- org.eclipse.persistence.internal.expressions.BaseExpression
-
- org.eclipse.persistence.internal.expressions.FunctionExpression
-
- org.eclipse.persistence.internal.expressions.ArgumentListFunctionExpression
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class ArgumentListFunctionExpression extends FunctionExpression
INTERNAL: This an extended FunctionExpression that allows the argument list to grow after it is created. New expressions may be added to the list and the printing of the database string is handled automatically This expression's addChild() method is used to construct the list. Note: This expression is designed to handle addition of children up until the first normalization (execution) of a query involving this expression. After normalization, the behavior is undefined.- Author:
- tware
- See Also:
ListExpressionOperator
,Expression.coalesce()
,Expression.caseStatement()
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Boolean
hasLastChild
-
Fields inherited from class org.eclipse.persistence.internal.expressions.FunctionExpression
children, operator, platformOperator, resultType
-
Fields inherited from class org.eclipse.persistence.internal.expressions.BaseExpression
baseExpression, builder
-
Fields inherited from class org.eclipse.persistence.expressions.Expression
currentAlias, hashCode, lastTable, selectIfOrderedBy, shouldUseUpperCaseForIgnoreCase
-
-
Constructor Summary
Constructors Constructor Description ArgumentListFunctionExpression()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChild(Expression argument)
INTERNAL: Add a new Expression to the list of arguments.void
addRightMostChild(Expression argument)
INTERNAL: Add a child and ensure it is the rightmost in the tree as long as it is in the tree If there is already a node that is set as therightmost node, replace itvoid
initializePlatformOperator(DatabasePlatform platform)
INTERNAL:protected void
postCopyIn(Map alreadyDone)
INTERNAL: Used for cloning.void
printSQL(ExpressionSQLPrinter printer)
INTERNAL: Print SQLvoid
setOperator(ExpressionOperator theOperator)
INTERNAL: Set the operator for this expression.-
Methods inherited from class org.eclipse.persistence.internal.expressions.FunctionExpression
aliasForTable, asOf, computeHashCode, create, create, createWithBaseLast, descriptionOfNodeType, doesConform, equals, getChildren, getFields, getLeafMapping, getLeafQueryKeyFor, getMappingOfFirstPrimaryKey, getOperator, getPlatformOperator, getResultType, getSelectionFields, hasResultType, isFunctionExpression, isObjectComparison, iterateOn, normalize, prepareObjectAttributeCount, printJava, rebuildOn, resetPlaceHolderBuilder, setLocalBase, setResultType, twistedForBaseAndContext, valueFromObject, writeDescriptionOn, writeFields, writeSubexpressionsTo
-
Methods inherited from class org.eclipse.persistence.internal.expressions.BaseExpression
getBaseExpression, getBuilder, setBaseExpression, shallowClone
-
Methods inherited from class org.eclipse.persistence.expressions.Expression
addDate, addDate, addMonths, addMonths, alias, 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, anyOf, anyOfAllowingNone, anyOfAllowingNone, as, ascending, asciiValue, assignAlias, assignTableAliasesStartingAt, average, between, between, between, between, between, between, between, between, between, caseConditionStatement, caseConditionStatement, caseStatement, caseStatement, cast, clone, cloneUsing, coalesce, coalesce, concat, containsAllKeyWords, containsAnyKeyWords, containsSubstring, containsSubstring, containsSubstringIgnoringCase, containsSubstringIgnoringCase, convertNodeToUseOuterJoin, convertToUseOuterJoin, copiedVersionFrom, count, currentDate, currentDateDate, currentTime, currentTimeStamp, dateDifference, dateDifference, dateName, datePart, dateToString, decode, descending, difference, distinct, doesConform, equal, equal, equal, equal, equal, equal, equal, equal, equal, equal, equalOuterJoin, equalOuterJoin, equalsIgnoreCase, equalsIgnoreCase, except, except, exceptAll, exceptAll, exists, existsNode, extract, extractFields, extractPrimaryKeyValues, extractValue, extractValues, extractXml, from, fromConstant, fromLiteral, get, get, getAlias, getAllowingNull, getAsOfClause, getAsOfClauseRecursively, getClonedField, getField, getField, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getLeafDescriptor, getName, getNumberVal, getOperator, getOwnedTables, getParameter, getParameter, getParameter, getProperty, getSelectionFields, 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, hashCode, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, index, indexOf, intersect, intersect, intersectAll, intersectAll, isClassTypeExpression, isCompoundExpression, isConstantExpression, isDataExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isLiteralExpression, isLogicalExpression, isMapEntryExpression, isNull, isObjectExpression, isParameterExpression, isQueryKeyExpression, isRelationExpression, isSubSelectExpression, isTableExpression, isTreatExpression, isValueExpression, join, lastDay, leftJoin, 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, mapEntry, mapKey, 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, notLike, notLike, notNull, nullIf, nullsFirst, nullsLast, operator, or, performOperator, postfixSQL, prefixSQL, ref, regexp, regexp, registerIn, replace, replicate, replicate, resetCache, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setSelectIfOrderedBy, size, size, some, some, some, some, some, some, some, some, some, some, some, some, sql, standardDeviation, subQuery, substring, substring, substring, substring, sum, toChar, toChar, toCharacter, toDate, toLowerCase, toNumber, toString, toString, toUpperCase, toUppercaseCasedWords, translate, treat, trim, trim, truncateDate, twist, type, union, union, unionAll, unionAll, validateNode, value, value, value, value, value, value, value, value, value, value, valueFromObject, variance, writeAlias, writeField
-
-
-
-
Field Detail
-
hasLastChild
protected Boolean hasLastChild
-
-
Method Detail
-
addChild
public void addChild(Expression argument)
INTERNAL: Add a new Expression to the list of arguments. This method will update the list of arguments and any constant strings that are required to be printed with the arguments- Overrides:
addChild
in classFunctionExpression
- Parameters:
argument
-
-
addRightMostChild
public void addRightMostChild(Expression argument)
INTERNAL: Add a child and ensure it is the rightmost in the tree as long as it is in the tree If there is already a node that is set as therightmost node, replace it- Parameters:
argument
-
-
setOperator
public void setOperator(ExpressionOperator theOperator)
INTERNAL: Set the operator for this expression. The operator must be a ListExpressionOperator This method asserts that the passed argument is a ListExpressionOperator rather than throwing an exception since this method is entirely internal and the user should never get this behavior- Overrides:
setOperator
in classFunctionExpression
-
printSQL
public void printSQL(ExpressionSQLPrinter printer)
INTERNAL: Print SQL- Overrides:
printSQL
in classFunctionExpression
-
postCopyIn
protected void postCopyIn(Map alreadyDone)
Description copied from class:FunctionExpression
INTERNAL: Used for cloning.- Overrides:
postCopyIn
in classFunctionExpression
-
initializePlatformOperator
public void initializePlatformOperator(DatabasePlatform platform)
INTERNAL:- Overrides:
initializePlatformOperator
in classFunctionExpression
-
-