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
public class MapEntryExpression extends QueryKeyExpression
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanreturnMapEntry-
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 DatabaseTablealiasForTable(DatabaseTable table)INTERNAL: Find the alias for a given table.StringdescriptionOfNodeType()INTERNAL: Used for debug printing.ExpressionexistingDerivedTable(DatabaseTable table)INTERNAL:ClassDescriptorgetDescriptor()DatabaseFieldgetField()INTERNAL:VectorgetFields()INTERNAL: Return all the fieldsCollectionMappinggetMapping()List<DatabaseTable>getOwnedTables()Exclude any tables defined by base.QueryKeygetQueryKeyOrNull()List<DatabaseField>getSelectionFields(ReadQuery query)INTERNAL:booleanisAttribute()INTERNAL: Return if the expression is for a direct mapped attribute.booleanisMapEntryExpression()INTERNAL:ExpressionmappingCriteria(Expression base)INTERNAL: Mapping criteria will be provided by the base expressionExpressionrebuildOn(Expression newBase)INTERNAL: This expression is built on a different base than the one we want.ExpressionrebuildOn(Expression oldBase, Expression newBase)INTERNAL: A special version of rebuildOn where the newBase need not be a new ExpressionBuilder but any expression.voidreturnMapEntry()Set this expression to represent a Map.Entry rather than the Map's keybooleanshouldReturnMapEntry()voidvalidateNode()Do any required validation for this node.voidwriteDescriptionOn(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
-
-
-
-
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:
aliasForTablein 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:
rebuildOnin 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:
rebuildOnin classQueryKeyExpression
-
descriptionOfNodeType
public String descriptionOfNodeType()
INTERNAL: Used for debug printing.- Overrides:
descriptionOfNodeTypein classQueryKeyExpression
-
existingDerivedTable
public Expression existingDerivedTable(DatabaseTable table)
INTERNAL:- Overrides:
existingDerivedTablein classDataExpression
-
getOwnedTables
public List<DatabaseTable> getOwnedTables()
Exclude any tables defined by base.- Overrides:
getOwnedTablesin classQueryKeyExpression
-
getDescriptor
public ClassDescriptor getDescriptor()
- Overrides:
getDescriptorin classObjectExpression
-
getField
public DatabaseField getField()
INTERNAL:- Overrides:
getFieldin classQueryKeyExpression
-
getFields
public Vector getFields()
INTERNAL: Return all the fields- Overrides:
getFieldsin classQueryKeyExpression
-
getSelectionFields
public List<DatabaseField> getSelectionFields(ReadQuery query)
INTERNAL:- Overrides:
getSelectionFieldsin classQueryKeyExpression
-
getMapping
public CollectionMapping getMapping()
- Overrides:
getMappingin classQueryKeyExpression
-
getQueryKeyOrNull
public QueryKey getQueryKeyOrNull()
- Overrides:
getQueryKeyOrNullin classQueryKeyExpression
-
isAttribute
public boolean isAttribute()
INTERNAL: Return if the expression is for a direct mapped attribute.- Overrides:
isAttributein classQueryKeyExpression
-
isMapEntryExpression
public boolean isMapEntryExpression()
INTERNAL:- Overrides:
isMapEntryExpressionin classExpression
-
mappingCriteria
public Expression mappingCriteria(Expression base)
INTERNAL: Mapping criteria will be provided by the base expression- Overrides:
mappingCriteriain classQueryKeyExpression
-
shouldReturnMapEntry
public boolean shouldReturnMapEntry()
-
validateNode
public void validateNode()
Do any required validation for this node. Throw an exception if it's incorrect.- Overrides:
validateNodein classQueryKeyExpression
-
writeDescriptionOn
public void writeDescriptionOn(BufferedWriter writer) throws IOException
INTERNAL: Used to print a debug form of the expression tree.- Overrides:
writeDescriptionOnin classQueryKeyExpression- Throws:
IOException
-
-