Module org.eclipse.persistence.core
Class LiteralExpression
- java.lang.Object
-
- org.eclipse.persistence.expressions.Expression
-
- org.eclipse.persistence.internal.expressions.LiteralExpression
-
- All Implemented Interfaces:
Serializable,Cloneable
public class LiteralExpression extends Expression
Used for wrapping literal values.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionlocalBaseprotected Stringvalue-
Fields inherited from class org.eclipse.persistence.expressions.Expression
currentAlias, hashCode, lastTable, selectIfOrderedBy, shouldUseUpperCaseForIgnoreCase
-
-
Constructor Summary
Constructors Constructor Description LiteralExpression()LiteralExpression(String newValue, Expression baseExpression)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcomputeHashCode()INTERNAL: Compute a consistent hash-code for the expression.StringdescriptionOfNodeType()INTERNAL: Used for debug printing.booleanequals(Object object)INTERNAL: Return if the expression is equal to the other.ExpressionBuildergetBuilder()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)protected ExpressiongetLocalBase()StringgetValue()booleanisLiteralExpression()INTERNAL:protected voidpostCopyIn(Map alreadyDone)INTERNAL: Used for cloning.voidprintSQL(ExpressionSQLPrinter printer)INTERNAL: Print SQL onto the stream, using the ExpressionPrinter for contextExpressionrebuildOn(Expression newBase)INTERNAL: This expression is built on a different base than the one we want.voidresetPlaceHolderBuilder(ExpressionBuilder queryBuilder)INTERNAL: Search the tree for any expressions (like SubSelectExpressions) that have been built using a builder that is not attached to the query.voidsetLocalBase(Expression e)INTERNAL: Set the local base expression, ie the one on the other side of the operator Most types will ignore this, since they don't need it.ExpressiontwistedForBaseAndContext(Expression newBase, Expression context, Expression oldBase)INTERNAL: Rebuild myself against the base, with the values of parameters supplied by the context expression.ObjectvalueFromObject(Object object, AbstractSession session, AbstractRecord translationRow, int valueHolderPolicy, boolean isObjectUnregistered)INTERNAL: Return the value for in memory comparison.voidwriteDescriptionOn(BufferedWriter writer)INTERNAL: Used to print a debug form of the expression tree.voidwriteFields(ExpressionSQLPrinter printer, List<DatabaseField> newFields, SQLSelectStatement statement)INTERNAL: Append the literal value into the printer, accounting for the first element-
Methods inherited from class org.eclipse.persistence.expressions.Expression
addDate, addDate, addMonths, addMonths, alias, aliasForTable, 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, asOf, 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, create, create, createWithBaseLast, currentDate, currentDateDate, currentTime, currentTimeStamp, dateDifference, dateDifference, dateName, datePart, dateToString, decode, descending, difference, distinct, doesConform, 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, getFields, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getLeafDescriptor, getLeafMapping, getName, getNumberVal, getOperator, getOperator, getOwnedTables, getParameter, getParameter, getParameter, getProperty, getSelectionFields, 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, isFunctionExpression, isLogicalExpression, isMapEntryExpression, isNull, isObjectExpression, isParameterExpression, isQueryKeyExpression, isRelationExpression, isSubSelectExpression, isTableExpression, isTreatExpression, isValueExpression, iterateOn, 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, localDate, localDateTime, localTime, locate, locate, locate, mapEntry, mapKey, maximum, minimum, monthsBetween, newTime, nextDay, noneOf, normalize, 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, printJava, ref, regexp, regexp, registerIn, replace, replicate, replicate, resetCache, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setSelectIfOrderedBy, shallowClone, 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, writeSubexpressionsTo
-
-
-
-
Field Detail
-
value
protected String value
-
localBase
protected Expression localBase
-
-
Constructor Detail
-
LiteralExpression
public LiteralExpression()
-
LiteralExpression
public LiteralExpression(String newValue, Expression baseExpression)
-
-
Method Detail
-
equals
public boolean equals(Object object)
INTERNAL: Return if the expression is equal to the other. This is used to allow dynamic expression's SQL to be cached.- Overrides:
equalsin classExpression
-
computeHashCode
public int computeHashCode()
INTERNAL: Compute a consistent hash-code for the expression. This is used to allow dynamic expression's SQL to be cached.- Overrides:
computeHashCodein classExpression
-
descriptionOfNodeType
public String descriptionOfNodeType()
INTERNAL: Used for debug printing.- Overrides:
descriptionOfNodeTypein classExpression
-
getBuilder
public 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)- Specified by:
getBuilderin classExpression
-
getLocalBase
protected Expression getLocalBase()
-
getValue
public String getValue()
-
isLiteralExpression
public boolean isLiteralExpression()
Description copied from class:ExpressionINTERNAL:- Overrides:
isLiteralExpressionin classExpression
-
postCopyIn
protected void postCopyIn(Map alreadyDone)
INTERNAL: Used for cloning.- Overrides:
postCopyInin classExpression
-
printSQL
public void printSQL(ExpressionSQLPrinter printer)
INTERNAL: Print SQL onto the stream, using the ExpressionPrinter for context- Specified by:
printSQLin classExpression
-
rebuildOn
public Expression rebuildOn(Expression newBase)
INTERNAL: This expression is built on a different base than the one we want. Rebuild it and return the root of the new tree- Specified by:
rebuildOnin classExpression- See Also:
Expression.cloneUsing(Expression newBase)
-
resetPlaceHolderBuilder
public void resetPlaceHolderBuilder(ExpressionBuilder queryBuilder)
INTERNAL: Search the tree for any expressions (like SubSelectExpressions) that have been built using a builder that is not attached to the query. This happens in case of an Exists call using a new ExpressionBuilder(). This builder needs to be replaced with one from the query.- Specified by:
resetPlaceHolderBuilderin classExpression
-
setLocalBase
public void setLocalBase(Expression e)
Description copied from class:ExpressionINTERNAL: Set the local base expression, ie the one on the other side of the operator Most types will ignore this, since they don't need it.- Overrides:
setLocalBasein classExpression
-
twistedForBaseAndContext
public Expression twistedForBaseAndContext(Expression newBase, Expression context, Expression oldBase)
INTERNAL: Rebuild myself against the base, with the values of parameters supplied by the context expression. This is used for transforming a standalone expression (e.g. the join criteria of a mapping) into part of some larger expression. You normally would not call this directly, instead calling twist See the comment there for more details"- Overrides:
twistedForBaseAndContextin classExpression
-
valueFromObject
public Object valueFromObject(Object object, AbstractSession session, AbstractRecord translationRow, int valueHolderPolicy, boolean isObjectUnregistered)
INTERNAL: Return the value for in memory comparison. This is only valid for valueable expressions.- Overrides:
valueFromObjectin classExpressionisObjectUnregistered- true if object possibly not a clone, but is being conformed against the unit of work cache.
-
writeDescriptionOn
public void writeDescriptionOn(BufferedWriter writer) throws IOException
INTERNAL: Used to print a debug form of the expression tree.- Overrides:
writeDescriptionOnin classExpression- Throws:
IOException
-
writeFields
public void writeFields(ExpressionSQLPrinter printer, List<DatabaseField> newFields, SQLSelectStatement statement)
INTERNAL: Append the literal value into the printer, accounting for the first element- Overrides:
writeFieldsin classExpression
-
-