Module org.eclipse.persistence.core
Class MapEntryExpression
java.lang.Object
org.eclipse.persistence.expressions.Expression
org.eclipse.persistence.internal.expressions.BaseExpression
org.eclipse.persistence.internal.expressions.DataExpression
org.eclipse.persistence.internal.expressions.ObjectExpression
org.eclipse.persistence.internal.expressions.QueryKeyExpression
org.eclipse.persistence.internal.expressions.MapEntryExpression
- All Implemented Interfaces:
Serializable
,Cloneable
- See Also:
-
Field Summary
FieldsFields inherited from class org.eclipse.persistence.internal.expressions.QueryKeyExpression
aliasedField, hasMapping, hasQueryKey, index, isAttributeExpression, isClonedForSubQuery, mapping, name, queryKey, shouldQueryToManyRelationship
Fields inherited from class org.eclipse.persistence.internal.expressions.ObjectExpression
castClass, derivedExpressions, descriptor, hasBeenAliased, joinSource, onClause, shouldUseOuterJoin, shouldUseOuterJoinForMultitableInheritance
Fields inherited from class org.eclipse.persistence.internal.expressions.DataExpression
asOfClause, derivedFields, derivedTables, hasBeenNormalized, tableAliases
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 -
Method Summary
Modifier and TypeMethodDescriptionaliasForTable
(DatabaseTable table) INTERNAL: Find the alias for a given table.INTERNAL: Used for debug printing.INTERNAL:getField()
INTERNAL:INTERNAL: Return all the fieldsExclude any tables defined by base.getSelectionFields
(ReadQuery query) INTERNAL:boolean
INTERNAL: Return if the expression is for a direct mapped attribute.boolean
INTERNAL:mappingCriteria
(Expression base) INTERNAL: Mapping criteria will be provided by the base expressionrebuildOn
(Expression newBase) INTERNAL: This expression is built on a different base than the one we want.rebuildOn
(Expression oldBase, Expression newBase) INTERNAL: A special version of rebuildOn where the newBase need not be a new ExpressionBuilder but any expression.void
Set this expression to represent a Map.Entry rather than the Map's keyboolean
void
Do any required validation for this node.void
writeDescriptionOn
(BufferedWriter writer) INTERNAL: Used to print a debug form of the expression tree.Methods inherited from class org.eclipse.persistence.internal.expressions.QueryKeyExpression
additionalExpressionCriteria, additionalExpressionCriteriaMap, checkJoinForSubSelectWithParent, computeHashCode, doQueryToManyRelationship, equals, getAdditionalTables, getAliasedField, getAliasedTable, getFieldValue, getLeafDescriptor, getLeafMapping, getMapKeyDescriptor, getMappingFromQueryKey, getName, getNestedAttributeName, getReferenceTable, getRelationTable, getSourceTable, index, initializeAliasedField, isDirectCollection, isManyToMany, isMapKeyObjectRelationship, isOneToMany, isOneToOne, isQueryKeyExpression, normalize, normalize, postCopyIn, printJava, printSQL, resetCache, shouldQueryToManyRelationship, treat, twistedForBaseAndContext, valueFromObject, valuesFromCollection
Methods inherited from class org.eclipse.persistence.internal.expressions.ObjectExpression
addDerivedExpression, anyOf, anyOfAllowingNone, assignTableAliasesStartingAt, clearAliases, convertToCastDescriptor, copyDerivedExpressions, derivedExpressionNamed, derivedManualExpressionNamed, doNotUseOuterJoin, doUseOuterJoin, existingDerivedExpressionNamed, get, getAllowingNull, getCastClass, getFirstNonAggregateExpressionAfterExpressionBuilder, getForUpdateOfFields, getJoinSource, getManualQueryKey, getOnClause, getOuterJoinExpIndex, hasBeenAliased, hasDerivedExpressions, isDowncast, isObjectExpression, isTreatUsed, isUsingOuterJoinForMultitableInheritance, join, leftJoin, newDerivedExpressionNamed, newManualDerivedExpressionNamed, postCopyIn, setCastClass, setJoinSource, setOnClause, setOuterJoinExpIndex, setShouldUseOuterJoinForMultitableInheritance, shouldUseOuterJoin, shouldUseOuterJoinForMultitableInheritance, type, writeForUpdateOfFields
Methods inherited from class org.eclipse.persistence.internal.expressions.DataExpression
addDerivedField, addDerivedTable, asOf, assignAlias, assignAlias, copyCollection, existingDerivedField, getAlias, getAsOfClause, getContainingDescriptor, getField, getField, getTable, getTable, getTableAliases, hasAsOfClause, hasBeenNormalized, hasDerivedFields, hasDerivedTables, isDataExpression, iterateOn, newDerivedField, newDerivedTable, setHasBeenNormalized, setTableAliases, tableAliasesDescription, writeSubexpressionsTo
Methods inherited from class org.eclipse.persistence.internal.expressions.BaseExpression
getBaseExpression, getBuilder, resetPlaceHolderBuilder, 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, anyOfAllowingNone, as, ascending, asciiValue, 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, getAsOfClauseRecursively, getClonedField, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getNumberVal, getOperator, getOperator, getParameter, getParameter, getParameter, getProperty, getSelectionFields, getSession, getStringVal, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, hashCode, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, indexOf, intersect, intersect, intersectAll, intersectAll, isClassTypeExpression, isCompoundExpression, isConstantExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isFunctionExpression, isLiteralExpression, isLogicalExpression, isNull, isParameterExpression, isRelationExpression, isSubSelectExpression, isTableExpression, isTreatExpression, 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, localDate, localDateTime, localTime, 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, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setLocalBase, 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, trim, trim, truncateDate, twist, union, union, unionAll, unionAll, value, value, value, value, value, value, value, value, value, value, valueFromObject, variance, writeAlias, writeField, writeFields
-
Field Details
-
returnMapEntry
protected boolean returnMapEntry
-
-
Constructor Details
-
MapEntryExpression
-
MapEntryExpression
public MapEntryExpression()
-
-
Method Details
-
aliasForTable
INTERNAL: Find the alias for a given table. A TableEntry is a place holder and its base expression holds all the relevant information. Get the alias from the baseExpression- Overrides:
aliasForTable
in classQueryKeyExpression
-
returnMapEntry
public void returnMapEntry()Set this expression to represent a Map.Entry rather than the Map's key -
rebuildOn
INTERNAL: This expression is built on a different base than the one we want. Rebuild it and return the root of the new tree- Overrides:
rebuildOn
in classQueryKeyExpression
- See Also:
-
rebuildOn
INTERNAL: A special version of rebuildOn where the newBase need not be a new ExpressionBuilder but any expression.For nested joined attributes, the joined attribute query must have its joined attributes rebuilt relative to it.
- Overrides:
rebuildOn
in classQueryKeyExpression
-
descriptionOfNodeType
INTERNAL: Used for debug printing.- Overrides:
descriptionOfNodeType
in classQueryKeyExpression
-
existingDerivedTable
INTERNAL:- Overrides:
existingDerivedTable
in classDataExpression
-
getOwnedTables
Exclude any tables defined by base.- Overrides:
getOwnedTables
in classQueryKeyExpression
-
getDescriptor
- Overrides:
getDescriptor
in classObjectExpression
-
getField
INTERNAL:- Overrides:
getField
in classQueryKeyExpression
-
getFields
INTERNAL: Return all the fields- Overrides:
getFields
in classQueryKeyExpression
-
getSelectionFields
INTERNAL:- Overrides:
getSelectionFields
in classQueryKeyExpression
-
getMapping
- Overrides:
getMapping
in classQueryKeyExpression
-
getQueryKeyOrNull
- Overrides:
getQueryKeyOrNull
in classQueryKeyExpression
-
isAttribute
public boolean isAttribute()INTERNAL: Return if the expression is for a direct mapped attribute.- Overrides:
isAttribute
in classQueryKeyExpression
-
isMapEntryExpression
public boolean isMapEntryExpression()INTERNAL:- Overrides:
isMapEntryExpression
in classExpression
-
mappingCriteria
INTERNAL: Mapping criteria will be provided by the base expression- Overrides:
mappingCriteria
in classQueryKeyExpression
-
shouldReturnMapEntry
public boolean shouldReturnMapEntry() -
validateNode
public void validateNode()Do any required validation for this node. Throw an exception if it's incorrect.- Overrides:
validateNode
in classQueryKeyExpression
-
writeDescriptionOn
INTERNAL: Used to print a debug form of the expression tree.- Overrides:
writeDescriptionOn
in classQueryKeyExpression
- Throws:
IOException
-