Module org.eclipse.persistence.core
Class ListExpressionOperator
java.lang.Object
org.eclipse.persistence.expressions.ExpressionOperator
org.eclipse.persistence.expressions.ListExpressionOperator
- All Implemented Interfaces:
Serializable
INTERNAL:
A ListExpressionOperator is used with an ArgumentListFunctionExpression. It is capable
of expanding the number of arguments it can be an operator for. It is built from a set
of start strings, a repeating set of separators and a set of termination strings
It typically represents a database function that has a variable list of arguments
e.g. COALESCE(arg1, arg2, arg3, .... argn)
In the example above "COALESCE(" is the start string, "," is the separator and ")" is the
end string
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected boolean
protected String[]
protected String[]
protected String[]
Fields inherited from class org.eclipse.persistence.expressions.ExpressionOperator
Abs, Acos, Add, AddDate, AddMonths, AggregateOperator, All, allInternalOperators, allOperators, And, Any, argumentIndices, As, Ascending, Ascii, Asin, Atan, Atan2, Average, Between, Case, CaseCondition, Cast, Ceil, CharIndex, CharLength, Chr, Coalesce, ComparisonOperator, Concat, Cos, Cosh, Cot, Count, CurrentDate, CurrentTime, DateDifference, DateName, DatePart, DateToString, Decode, Deref, Descending, Difference, Distinct, Divide, Equal, EqualOuterJoin, Except, ExceptAll, Exists, ExistsNode, Exp, Extract, ExtractValue, ExtractXml, Floor, FunctionOperator, GetNumberVal, GetStringVal, GreaterThan, GreaterThanEqual, Greatest, HexToRaw, In, Initcap, Instring, InSubQuery, Intersect, IntersectAll, isBindingSupported, IsFragment, IsNull, isPrefix, isRepeating, javaStrings, LastDay, Least, LeftPad, LeftTrim, LeftTrim2, Length, LessThan, LessThanEqual, Like, LikeEscape, Ln, LocalDate, LocalDateTime, LocalTime, Locate, Locate2, Log, LogicalOperator, Maximum, Minimum, Mod, MonthsBetween, Multiply, name, Negate, NewTime, NextDay, nodeClass, Not, NotBetween, NotEqual, NotExists, NotIn, NotInSubQuery, NotLike, NotLikeEscape, NotNull, NullIf, NullsFirst, NullsLast, Nvl, Or, OrderOperator, platformOperatorNames, platformOperatorSelectors, Power, Ref, RefToHex, Regexp, Replace, Replicate, Reverse, Right, RightPad, RightTrim, RightTrim2, Round, RoundDate, SDO_FILTER, SDO_NN, SDO_RELATE, SDO_WITHIN_DISTANCE, selector, Sign, Sin, Sinh, Some, Soundex, Sqrt, StandardDeviation, Substring, SubstringSingleArg, Subtract, Sum, Tan, Tanh, ToChar, ToCharWithFormat, ToDate, Today, ToLowerCase, ToNumber, ToUpperCase, Translate, Trim, Trim2, Trunc, TruncateDate, type, Union, UnionAll, Value, Variance
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
void
copyTo
(ExpressionOperator operator) String[]
Deprecated.String[]
getDatabaseStrings
(int arguments) Returns an array of Strings that expects a query argument between each String in the array to form the Expression.String[]
String[]
String[]
boolean
INTERNAL: If we have all the required information, this operator is complete and can be used as is.void
setIsComplete
(boolean isComplete) void
setSeparator
(String separator) void
setSeparators
(String[] separators) void
setStartString
(String startString) void
setStartStrings
(String[] startStrings) void
setTerminationString
(String terminationString) void
setTerminationStrings
(String[] terminationStrings) Methods inherited from class org.eclipse.persistence.expressions.ExpressionOperator
abs, acos, add, addDate, addMonths, addOperator, all, and, any, applyFunction, as, ascending, ascii, asin, atan, average, bePostfix, bePrefix, beRepeating, between, caseConditionStatement, caseStatement, cast, ceil, charIndex, charLength, chr, coalesce, concat, conformBetween, conformLike, cos, cosh, cot, count, createNode, currentDate, currentTime, currentTimeStamp, dateDifference, dateName, datePart, dateToString, decode, deref, descending, difference, distinct, divide, doesRelationConform, equal, equalOuterJoin, equals, except, exceptAll, exists, existsNode, exp, expressionFor, expressionFor, expressionForArguments, expressionForWithBaseLast, extract, extractValue, extractXml, floor, getAllInternalOperators, getAllOperators, getArgumentIndices, getInternalOperator, getJavaStrings, getName, getNodeClass, getNumberVal, getOperator, getPlatformOperatorName, getPlatformOperatorNames, getPlatformOperatorSelectors, getSelector, getStringVal, getType, greaterThan, greaterThanEqual, greatest, hashCode, hexToRaw, ifNull, in, initcap, initializeAggregateFunctionOperators, initializeComparisonOperators, initializeFunctionOperators, initializeLogicalOperators, initializeOperators, initializeOrderOperators, initializePlatformOperatorNames, initializePlatformOperatorSelectors, initializeRelationOperators, instring, inSubQuery, intersect, intersectAll, isAggregateOperator, isAll, isAny, isAnyOrAll, isBindingSupported, isComparisonOperator, isFragment, isFunctionOperator, isLogicalOperator, isNull, isOrderOperator, isPrefix, lastDay, least, leftPad, leftTrim, leftTrim2, length, lessThan, lessThanEqual, like, likeEscape, ln, localDate, localDateTime, localTime, locate, locate2, log, maximum, minimum, mod, monthsBetween, multiply, negate, newExpressionForArgument, newExpressionForArguments, newExpressionForArgumentWithBaseLast, newTime, nextDay, notBetween, notEqual, notExists, notIn, notInSubQuery, notLike, notLikeEscape, notNull, notOperator, nullIf, nullsFirst, nullsLast, or, power, printCollection, printDuo, printJavaCollection, printJavaDuo, printsAs, printsAs, printsJavaAs, printsJavaAs, ref, refToHex, regexp, registerOperator, replace, replicate, resetOperators, reverse, right, rightPad, rightTrim, rightTrim2, round, roundDate, setArgumentIndices, setIsBindingSupported, setName, setNodeClass, setSelector, setType, sign, simpleAggregate, simpleFunction, simpleFunction, simpleFunctionNoParentheses, simpleLogical, simpleLogicalNoParens, simpleMath, simpleOrdering, simpleRelation, simpleRelation, simpleThreeArgumentFunction, simpleTwoArgumentFunction, sin, sinh, some, soundex, sqrt, standardDeviation, substring, substringSingleArg, subtract, sum, tan, tanh, toChar, toCharWithFormat, toDate, today, toLowerCase, toNumber, toString, toUpperCase, translate, trim, trim2, trunc, truncateDate, union, unionAll, value, variance
-
Field Details
-
startStrings
-
separators
-
terminationStrings
-
isComplete
protected boolean isComplete -
changed
protected boolean changed
-
-
Constructor Details
-
ListExpressionOperator
public ListExpressionOperator()
-
-
Method Details
-
clone
- Overrides:
clone
in classExpressionOperator
-
copyTo
- Overrides:
copyTo
in classExpressionOperator
-
getDatabaseStrings
Deprecated.INTERNAL: Recalculate the database strings each time this is called in case one has been added.- Overrides:
getDatabaseStrings
in classExpressionOperator
-
getDatabaseStrings
Returns an array of Strings that expects a query argument between each String in the array to form the Expression. The array is built from the defined startStrings, separators, and terminationStrings. Start strings and termination strings take precedence over separator strings. The first defined start string will be added to the array. All subsequent start strings are optional, meaning they will only be added to the array if there are argument spaces available. The defined set of separator strings will be repeated, as a complete set, as long as there are argument spaces available. The last defined termination string will be added to the array. All antecedent termination strings are optional, meaning they will only be added to the array if there are argument spaces available.- Overrides:
getDatabaseStrings
in classExpressionOperator
-
getStartStrings
-
setStartString
-
setStartStrings
-
getSeparators
-
setSeparator
-
setSeparators
-
getTerminationStrings
-
setTerminationString
-
setTerminationStrings
-
setIsComplete
public void setIsComplete(boolean isComplete) -
isComplete
public boolean isComplete()Description copied from class:ExpressionOperator
INTERNAL: If we have all the required information, this operator is complete and can be used as is. Otherwise we will need to look up a platform- specific operator.- Overrides:
isComplete
in classExpressionOperator
-