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
public class MapEntryExpression extends QueryKeyExpression
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
returnMapEntry
-
Fields 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 Constructor Description MapEntryExpression()
MapEntryExpression(Expression base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DatabaseTable
aliasForTable(DatabaseTable table)
INTERNAL: Find the alias for a given table.String
descriptionOfNodeType()
INTERNAL: Used for debug printing.Expression
existingDerivedTable(DatabaseTable table)
INTERNAL:ClassDescriptor
getDescriptor()
DatabaseField
getField()
INTERNAL:Vector
getFields()
INTERNAL: Return all the fieldsCollectionMapping
getMapping()
List<DatabaseTable>
getOwnedTables()
Exclude any tables defined by base.QueryKey
getQueryKeyOrNull()
List<DatabaseField>
getSelectionFields(ReadQuery query)
INTERNAL:boolean
isAttribute()
INTERNAL: Return if the expression is for a direct mapped attribute.boolean
isMapEntryExpression()
INTERNAL:Expression
mappingCriteria(Expression base)
INTERNAL: Mapping criteria will be provided by the base expressionExpression
rebuildOn(Expression newBase)
INTERNAL: This expression is built on a different base than the one we want.Expression
rebuildOn(Expression oldBase, Expression newBase)
INTERNAL: A special version of rebuildOn where the newBase need not be a new ExpressionBuilder but any expression.void
returnMapEntry()
Set this expression to represent a Map.Entry rather than the Map's keyboolean
shouldReturnMapEntry()
void
validateNode()
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, 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
-
-
-
-
Constructor Detail
-
MapEntryExpression
public MapEntryExpression(Expression base)
-
MapEntryExpression
public MapEntryExpression()
-
-
Method Detail
-
aliasForTable
public DatabaseTable aliasForTable(DatabaseTable table)
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
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- Overrides:
rebuildOn
in classQueryKeyExpression
- See Also:
Expression.cloneUsing(Expression newBase)
-
rebuildOn
public Expression rebuildOn(Expression oldBase, Expression newBase)
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
public String descriptionOfNodeType()
INTERNAL: Used for debug printing.- Overrides:
descriptionOfNodeType
in classQueryKeyExpression
-
existingDerivedTable
public Expression existingDerivedTable(DatabaseTable table)
INTERNAL:- Overrides:
existingDerivedTable
in classDataExpression
-
getOwnedTables
public List<DatabaseTable> getOwnedTables()
Exclude any tables defined by base.- Overrides:
getOwnedTables
in classQueryKeyExpression
-
getDescriptor
public ClassDescriptor getDescriptor()
- Overrides:
getDescriptor
in classObjectExpression
-
getField
public DatabaseField getField()
INTERNAL:- Overrides:
getField
in classQueryKeyExpression
-
getFields
public Vector getFields()
INTERNAL: Return all the fields- Overrides:
getFields
in classQueryKeyExpression
-
getSelectionFields
public List<DatabaseField> getSelectionFields(ReadQuery query)
INTERNAL:- Overrides:
getSelectionFields
in classQueryKeyExpression
-
getMapping
public CollectionMapping getMapping()
- Overrides:
getMapping
in classQueryKeyExpression
-
getQueryKeyOrNull
public QueryKey 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
public Expression mappingCriteria(Expression base)
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
public void writeDescriptionOn(BufferedWriter writer) throws IOException
INTERNAL: Used to print a debug form of the expression tree.- Overrides:
writeDescriptionOn
in classQueryKeyExpression
- Throws:
IOException
-
-