Top Description Fields Constructors Methods
org.eclipse.persistence.expressions

public Class ExpressionOperator

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Known Direct Subclasses
org.eclipse.persistence.expressions.ListExpressionOperator, org.eclipse.persistence.internal.expressions.ExtractOperator
Imports
java.io.Serializable, java.util.ArrayList, .Arrays, .Collection, .HashMap, .List, .Map, .StringTokenizer, .Vector, org.eclipse.persistence.exceptions.QueryException, org.eclipse.persistence.internal.expressions.ArgumentListFunctionExpression, .ExpressionJavaPrinter, .ExpressionSQLPrinter, .ExtractOperator, .FunctionExpression, .LogicalExpression, .ObjectExpression, .RelationExpression, org.eclipse.persistence.internal.helper.ClassConstants, .DatabaseTable, .Helper, .JavaPlatform, org.eclipse.persistence.internal.security.PrivilegedAccessHelper

Purpose: ADVANCED: The expression operator is used internally to define SQL operations and functions. It is possible for an advanced user to define their own operators.

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
protected static Map<Integer, ExpressionOperator>
allInternalOperators

Contains internal defined operators meant as placeholders for platform operators

protected static Map<Integer, ExpressionOperator>
allOperators

Contains user defined operators

public static final int
And

Logical operators

public static final int
protected int[]
public static final int
public static final int
Ascending

Ordering operators

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
Count

Aggregate operators

public static final int
CurrentDate

Function to obtain the current date on the database with date components only but without time components.

public static final int
CurrentTime

Function to obtain the current time on the database with time components only but without date components.

private String[]
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
Equal

Comparison operators

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
protected Boolean
isBindingSupported

Allow operator to disable/enable binding for the whole expression.

public static final int
public static final int
protected boolean
protected boolean
protected String[]
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
LogicalOperator

Operator types

public static final int
public static final int
public static final int
public static final int
public static final int
protected String
public static final int
public static final int
public static final int
protected Class<?>
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
protected static final Map<Integer, String>
protected static final Map<String, Integer>
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
protected int
pack-priv static final long
serialVersionUID

Required for serialization compatibility.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
Today

Function to obtain the current timestamp on the database including date and time components.

public static final int
public static final int
public static final int
ToUpperCase

Function operators

public static final int
public static final int
public static final int
public static final int
public static final int
protected int
public static final int
Union

Union operators

public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
public
ExpressionOperator()

ADVANCED: Create a new operator.

public
ExpressionOperator(int selector, List<String> newDatabaseStrings)

ADVANCED: Create a new operator with the given name(s) and strings to print.

Method Summary

Modifier and TypeMethod and Description
public static ExpressionOperator
abs()

INTERNAL: Build operator.

public static ExpressionOperator
acos()

INTERNAL: Build operator.

public static ExpressionOperator
add()

INTERNAL: Build operator.

public static ExpressionOperator
addDate()

INTERNAL: Build operator.

public static ExpressionOperator
addMonths()

INTERNAL: Build operator.

public static void
addOperator(ExpressionOperator exOperator)

ADVANCED: Add an operator to the user defined list of operators.

private static void
public static ExpressionOperator
all()

INTERNAL: Create the ALL operator.

public static ExpressionOperator
and()

INTERNAL: Create the AND operator.

public static ExpressionOperator
any()

INTERNAL: Create the ANY operator.

public Object
applyFunction(Object source, List<E> arguments)

INTERNAL: Apply this to an object in memory.

public static ExpressionOperator
as()

INTERNAL: Create the AS operator.

public static ExpressionOperator
ascending()

INTERNAL: Create the ASCENDING operator.

public static ExpressionOperator
ascii()

INTERNAL: Build operator.

public static ExpressionOperator
asin()

INTERNAL: Build operator.

public static ExpressionOperator
atan()

INTERNAL: Build operator.

public static ExpressionOperator
average()

INTERNAL: Create the AVERAGE operator.

public void
bePostfix()

ADVANCED: Tell the operator to be postfix, i.e. its strings start printing after those of its first argument.

public void
bePrefix()

ADVANCED: Tell the operator to be pretfix, i.e. its strings start printing before those of its first argument.

public void
beRepeating()

INTERNAL: Make this a repeating argument.

public static ExpressionOperator
between()

INTERNAL: Create the BETWEEN Operator

public static ExpressionOperator
caseConditionStatement()

INTERNAL: Build operator.

public static ExpressionOperator
caseStatement()

INTERNAL: Build operator.

public static ExpressionOperator
cast()

INTERNAL: Build operator.

public static ExpressionOperator
ceil()

INTERNAL: Build operator.

public static ExpressionOperator
charIndex()

INTERNAL: Build operator.

public static ExpressionOperator
charLength()

INTERNAL: Build operator.

public static ExpressionOperator
chr()

INTERNAL: Build operator.

public ExpressionOperator
clone()

Overrides java.lang.Object.clone.

Creates and returns a copy of this object.
public static ExpressionOperator
coalesce()

INTERNAL: Build operator.

public static ExpressionOperator
concat()

INTERNAL: Build operator.

public boolean
conformBetween(Object left, Object right)

INTERNAL: Compare between in memory.

public boolean
conformLike(Object left, Object right)

INTERNAL: Compare like in memory.

public void
public static ExpressionOperator
cos()

INTERNAL: Build operator.

public static ExpressionOperator
cosh()

INTERNAL: Build operator.

public static ExpressionOperator
cot()

INTERNAL: Build operator.

public static ExpressionOperator
count()

INTERNAL: Create the COUNT operator.

protected Expression
createNode()

INTERNAL: Instantiate an instance of the operator's node class.

public static ExpressionOperator
currentDate()

INTERNAL: Build operator.

public static ExpressionOperator
currentTime()

INTERNAL: Build operator.

public static ExpressionOperator
currentTimeStamp()

INTERNAL: Build operator.

public static ExpressionOperator
dateDifference()

INTERNAL: Build operator.

public static ExpressionOperator
dateName()

INTERNAL: Build operator.

public static ExpressionOperator
datePart()

INTERNAL: Build operator.

public static ExpressionOperator
dateToString()

INTERNAL: Build operator.

public static ExpressionOperator
decode()

INTERNAL: Build operator.

public static ExpressionOperator
deref()

INTERNAL: Build operator.

public static ExpressionOperator
descending()

INTERNAL: Create the DESCENDING operator.

public static ExpressionOperator
difference()

INTERNAL: Build operator.

public static ExpressionOperator
distinct()

INTERNAL: Create the DISTINCT operator.

public static ExpressionOperator
divide()

INTERNAL: Create the DISTINCT operator.

public boolean
doesRelationConform(Object left, Object right)

INTERNAL: Compare the values in memory.

public static ExpressionOperator
public static ExpressionOperator
equalOuterJoin()

INTERNAL: Initialize the outer join operator Note: This is merely a shell which is incomplete, and so will be replaced by the platform's operator when we go to print.

public boolean
equals(Object
the reference object with which to compare.
object
)

Overrides java.lang.Object.equals.

INTERNAL: Return if the operator is equal to the other.
public static ExpressionOperator
except()

INTERNAL: Create the EXCEPT operator.

public static ExpressionOperator
exceptAll()

INTERNAL: Create the EXCEPT ALL operator.

public static ExpressionOperator
exists()

INTERNAL: Create the EXISTS operator.

public static ExpressionOperator
existsNode()

INTERNAL: Create the existsNode expression operator

public static ExpressionOperator
exp()

INTERNAL: Build operator.

public Expression
expressionFor(Expression base)

INTERNAL: Create an expression for this operator, using the given base.

public Expression
expressionFor(Expression base, Object value)

INTERNAL: Create an expression for this operator, using the given base and a single argument.

public Expression
expressionForArguments(Expression base, List<E> arguments)

INTERNAL: Create an expression for this operator, using the given base and arguments.

public Expression
expressionForWithBaseLast(Expression base, Object value)

INTERNAL: Create an expression for this operator, using the given base and a single argument.

public static ExpressionOperator
extract()

INTERNAL: Build operator.

public static ExpressionOperator
extractValue()

INTERNAL: Create the extractValue expression operator

public static ExpressionOperator
extractXml()

INTERNAL: Create the extract expression operator

public static ExpressionOperator
floor()

INTERNAL: Build operator.

public static Map<Integer, ExpressionOperator>
public static Map<Integer, ExpressionOperator>
getAllOperators()

ADVANCED: Return the map of all operators.

public int[]
getArgumentIndices(int size)

Return the argumentIndices if set, otherwise initialize argumentIndices to the provided size

public String[]
getDatabaseStrings()

INTERNAL:

public String[]
getDatabaseStrings(int arguments)

INTERNAL:

public static ExpressionOperator
getInternalOperator(Integer selector)

INTERNAL: Lookup the internal operator with the given id.

public String[]
getJavaStrings()

INTERNAL:

public String
getName()

INTERNAL: Return the name.

public Class<?>
getNodeClass()

INTERNAL:

public static ExpressionOperator
public static ExpressionOperator
getOperator(Integer selector)

INTERNAL: Lookup the operator with the given id.

This will only check user defined operators.

public static String
getPlatformOperatorName(int operator)

INTERNAL: Initialize a mapping to the platform operator names for usage with exceptions.

public static Map<Integer, String>
getPlatformOperatorNames()

INTERNAL: Initialize a mapping to the platform operator names for usage with exceptions.

public static Map<String, Integer>
public int
getSelector()

INTERNAL: Return the selector id.

public static ExpressionOperator
public int
getType()

ADVANCED: Return the type of function.

public static ExpressionOperator
greaterThan()

INTERNAL: Build operator.

public static ExpressionOperator
greaterThanEqual()

INTERNAL: Build operator.

public static ExpressionOperator
greatest()

INTERNAL: Build operator.

public int
hashCode()

Overrides java.lang.Object.hashCode.

INTERNAL: Return the hash-code based on the unique selector.
public static ExpressionOperator
hexToRaw()

INTERNAL: Build operator.

public static ExpressionOperator
ifNull()

INTERNAL: Build operator.

public static ExpressionOperator
in()

INTERNAL: Create the IN operator.

public static ExpressionOperator
initcap()

INTERNAL: Build operator.

protected static void
protected static void
protected static void
private static Map<Integer, ExpressionOperator>
protected static void
public static Map<Integer, ExpressionOperator>
protected static void
public static Map<Integer, String>
initializePlatformOperatorNames()

INTERNAL: Initialize a mapping to the platform operator names for usage with exceptions.

public static Map<String, Integer>
initializePlatformOperatorSelectors()

INTERNAL: Initialize a mapping to the platform operator names for usage with exceptions.

protected static void
public static ExpressionOperator
instring()

INTERNAL: Build operator.

public static ExpressionOperator
inSubQuery()

INTERNAL: Create the IN operator taking a subquery.

public static ExpressionOperator
intersect()

INTERNAL: Create the INTERSECT operator.

public static ExpressionOperator
intersectAll()

INTERNAL: Create the INTERSECT ALL operator.

public boolean
isAggregateOperator()

Aggregate functions are function in the select such as COUNT.

public boolean
isAll()

INTERNAL: Indicates whether operator has selector All

public boolean
isAny()

INTERNAL: Indicates whether operator has selector Any or Some

public boolean
isAnyOrAll()

INTERNAL: Indicates whether operator has selector Any, Some or All

public Boolean
isBindingSupported()

PUBLIC: Return if binding is compatible with this operator.

public boolean
isComparisonOperator()

Comparison functions are functions such as = and >.

public boolean
isComplete()

INTERNAL: If we have all the required information, this operator is complete and can be used as is.

public static ExpressionOperator
public boolean
isFunctionOperator()

General functions are any normal function such as UPPER.

public boolean
isLogicalOperator()

Logical functions are functions such as and and or.

public static ExpressionOperator
isNull()

INTERNAL: Create the ISNULL operator.

public boolean
isOrderOperator()

Order functions are used in the order by such as ASC.

public boolean
isPrefix()

ADVANCED: Return true if this is a prefix operator.

public static ExpressionOperator
lastDay()

INTERNAL: Build operator.

public static ExpressionOperator
least()

INTERNAL: Build operator.

public static ExpressionOperator
leftPad()

INTERNAL: Build operator.

public static ExpressionOperator
leftTrim()

INTERNAL: Build operator.

public static ExpressionOperator
leftTrim2()

INTERNAL: Build leftTrim operator that takes one parameter.

public static ExpressionOperator
length()

INTERNAL: Build operator.

public static ExpressionOperator
public static ExpressionOperator
public static ExpressionOperator
like()

INTERNAL: Create the LIKE operator.

public static ExpressionOperator
likeEscape()

INTERNAL: Create the LIKE operator with ESCAPE.

public static ExpressionOperator
ln()

INTERNAL: Build operator.

public static ExpressionOperator
localDate()

INTERNAL: Build operator.

public static ExpressionOperator
localDateTime()

INTERNAL: Build operator.

public static ExpressionOperator
localTime()

INTERNAL: Build operator.

public static ExpressionOperator
locate()

INTERNAL: Build locate operator i.e. LOCATE("ob", t0.F_NAME)

public static ExpressionOperator
locate2()

INTERNAL: Build locate operator with 3 params i.e. LOCATE("coffee", t0.DESCRIP, 4).

public static ExpressionOperator
log()

INTERNAL: Build operator.

public static ExpressionOperator
maximum()

INTERNAL: Create the MAXIMUM operator.

public static ExpressionOperator
minimum()

INTERNAL: Create the MINIMUM operator.

public static ExpressionOperator
mod()

INTERNAL: Build operator.

public static ExpressionOperator
monthsBetween()

INTERNAL: Build operator.

public static ExpressionOperator
multiply()

INTERNAL: Build operator.

public static ExpressionOperator
negate()

INTERNAL: Build operator.

public Expression
newExpressionForArgument(Expression base, Object singleArgument)

INTERNAL: Create a new expression.

public Expression
newExpressionForArguments(Expression base, List<E> arguments)

INTERNAL: The general case.

public Expression
newExpressionForArgumentWithBaseLast(Expression base, Object singleArgument)

INTERNAL: Create a new expression.

public static ExpressionOperator
newTime()

INTERNAL: Build operator.

public static ExpressionOperator
nextDay()

INTERNAL: Build operator.

public static ExpressionOperator
notBetween()

INTERNAL: Create the NOT BETWEEN operator

public static ExpressionOperator
public static ExpressionOperator
notExists()

INTERNAL: Create the NOT EXISTS operator.

public static ExpressionOperator
notIn()

INTERNAL: Create the NOTIN operator.

public static ExpressionOperator
notInSubQuery()

INTERNAL: Create the NOTIN operator taking a subQuery.

public static ExpressionOperator
notLike()

INTERNAL: Create the NOTLIKE operator.

public static ExpressionOperator
notLikeEscape()

INTERNAL: Create the LIKE operator with ESCAPE.

public static ExpressionOperator
notNull()

INTERNAL: Create the NOTNULL operator.

public static ExpressionOperator
notOperator()

INTERNAL: Create the NOT operator.

public static ExpressionOperator
nullIf()

INTERNAL: Build operator.

public static ExpressionOperator
nullsFirst()

INTERNAL: Create the NULLS FIRST ordering operator.

public static ExpressionOperator
nullsLast()

INTERNAL: Create the NULLS LAST ordering operator.

public static ExpressionOperator
or()

INTERNAL: Create the OR operator.

public static ExpressionOperator
power()

INTERNAL: Build operator.

public void
printCollection(List<Expression> items, ExpressionSQLPrinter printer)

INTERNAL: Print the collection onto the SQL stream.

public void
printDuo(Expression first, Expression second, ExpressionSQLPrinter printer)

INTERNAL: For performance, special case printing two children, since it's by far the most common

public void
printJavaCollection(List<Expression> items, ExpressionJavaPrinter printer)

INTERNAL: Print the collection onto the SQL stream.

public void
printJavaDuo(Expression first, Expression second, ExpressionJavaPrinter printer)

INTERNAL: For performance, special case printing two children, since it's by far the most common

public void
printsAs(String s)

ADVANCED: Set the single string for this operator.

public void
printsAs(List<String> dbStrings)

ADVANCED: Set the strings for this operator.

public void
printsJavaAs(String s)

ADVANCED: Set the single string for this operator.

public void
printsJavaAs(List<String> dbStrings)

ADVANCED: Set the strings for this operator.

public static ExpressionOperator
ref()

INTERNAL: Build operator.

public static ExpressionOperator
refToHex()

INTERNAL: Build operator.

public static ExpressionOperator
regexp()

INTERNAL: Create the REGEXP operator.

public static void
registerOperator(int selector, String name)

ADVANCED: Define a name for a user defined operator.

public static ExpressionOperator
replace()

INTERNAL: Build operator.

public static ExpressionOperator
replicate()

INTERNAL: Build operator.

public static void
resetOperators()

INTERNAL: Reset all the operators.

public static ExpressionOperator
reverse()

INTERNAL: Build operator.

public static ExpressionOperator
right()

INTERNAL: Build operator.

public static ExpressionOperator
rightPad()

INTERNAL: Build operator.

public static ExpressionOperator
rightTrim()

INTERNAL: Build operator.

public static ExpressionOperator
rightTrim2()

INTERNAL: Build rightTrim operator that takes one parameter.

public static ExpressionOperator
round()

INTERNAL: Build operator.

public static ExpressionOperator
roundDate()

INTERNAL: Build operator.

public void
setArgumentIndices(int[] indices)

ADVANCED: Set the array of indexes to use when building the SQL function.

public void
setIsBindingSupported(boolean isBindingSupported)

PUBLIC: Set if binding is compatible with this operator.

public void
setName(String name)

INTERNAL: Set the name.

public void
setNodeClass(Class<?> nodeClass)

ADVANCED: Set the node class for this operator.

public void
setSelector(int selector)

INTERNAL: Set the selector id.

public void
setType(int type)

ADVANCED: Set the type of function.

public static ExpressionOperator
sign()

INTERNAL: Build operator.

public static ExpressionOperator
simpleAggregate(int selector, String databaseName, String javaName)

INTERNAL: Create an operator for a simple aggregate given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleFunction(int selector, String databaseName)

INTERNAL: Create an operator for a simple function given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleFunction(int selector, String databaseName, String javaName)

INTERNAL: Create an operator for a simple function given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleFunctionNoParentheses(int selector, String databaseName)

INTERNAL: Create an operator for a simple function call without parentheses

public static ExpressionOperator
simpleLogical(int selector, String databaseName, String javaName)

INTERNAL: Create an operator for a simple logical given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleLogicalNoParens(int selector, String dbString)

INTERNAL: e.g.: ...

public static ExpressionOperator
simpleMath(int selector, String databaseName)

INTERNAL: Create an operator for a simple math operation, i.e. +, -, *, /

public static ExpressionOperator
simpleOrdering(int selector, String databaseName, String javaName)

INTERNAL: Create an operator for a simple ordering given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleRelation(int selector, String databaseName)

INTERNAL: Create an operator for a simple relation given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleRelation(int selector, String databaseName, String javaName)

INTERNAL: Create an operator for a simple relation given a Java name and a single String for the database (parentheses will be added automatically).

public static ExpressionOperator
simpleThreeArgumentFunction(int selector, String dbString)

INTERNAL: Build operator.

public static ExpressionOperator
simpleTwoArgumentFunction(int selector, String dbString)

INTERNAL: Build operator.

public static ExpressionOperator
sin()

INTERNAL: Build operator.

public static ExpressionOperator
sinh()

INTERNAL: Build operator.

public static ExpressionOperator
some()

INTERNAL: Create the SOME operator.

public static ExpressionOperator
soundex()

INTERNAL: Build operator.

public static ExpressionOperator
sqrt()

INTERNAL: Build operator.

public static ExpressionOperator
standardDeviation()

INTERNAL: Build operator.

public static ExpressionOperator
substring()

INTERNAL: Build operator.

public static ExpressionOperator
substringSingleArg()

INTERNAL: Build operator.

public static ExpressionOperator
subtract()

INTERNAL: Build operator.

public static ExpressionOperator
sum()

INTERNAL: Create the SUM operator.

public static ExpressionOperator
tan()

INTERNAL: Build operator.

public static ExpressionOperator
tanh()

INTERNAL: Build operator.

public static ExpressionOperator
toChar()

INTERNAL: Build operator.

public static ExpressionOperator
toCharWithFormat()

INTERNAL: Build operator.

public static ExpressionOperator
toDate()

INTERNAL: Build operator.

public static ExpressionOperator
today()

INTERNAL: Build operator.

public static ExpressionOperator
toLowerCase()

INTERNAL: Create the toLowerCase operator.

public static ExpressionOperator
toNumber()

INTERNAL: Build operator.

public String
toString()

Overrides java.lang.Object.toString.

Print a debug representation of this operator.
public static ExpressionOperator
toUpperCase()

INTERNAL: Create the TOUPPERCASE operator.

public static ExpressionOperator
translate()

INTERNAL: Build operator.

public static ExpressionOperator
trim()

INTERNAL: Build operator.

public static ExpressionOperator
trim2()

INTERNAL: Build Trim operator.

public static ExpressionOperator
trunc()

INTERNAL: Build operator.

public static ExpressionOperator
truncateDate()

INTERNAL: Build operator.

public static ExpressionOperator
union()

INTERNAL: Create the UNION operator.

public static ExpressionOperator
unionAll()

INTERNAL: Create the UNION ALL operator.

public static ExpressionOperator
value()

INTERNAL: Build operator.

public static ExpressionOperator
variance()

INTERNAL: Build operator.

Inherited from java.lang.Object:
finalizegetClassnotifynotifyAllwaitwaitwait