public abstract class ObjectExpression extends DataExpression
Modifier and Type | Field and Description |
---|---|
Vector |
derivedExpressions |
ClassDescriptor |
descriptor |
protected boolean |
shouldUseOuterJoin
Is this query key to be resolved using an outer join or not.
|
protected boolean |
shouldUseOuterJoinForMultitableInheritance
indicates whether subclasses should be joined
|
baseExpression, derivedFields, derivedTables, hasBeenNormalized, tableAliases
currentAlias, lastTable, selectIfOrderedBy
Constructor and Description |
---|
ObjectExpression() |
Modifier and Type | Method and Description |
---|---|
void |
addDerivedExpression(Expression addThis) |
Expression |
additionalExpressionCriteria()
INTERNAL:
Return the expression to join the main table of this node to any auxiliary tables.
|
Map |
additionalExpressionCriteriaMap()
INTERNAL:
Used in case outer joins should be printed in FROM clause.
|
Expression |
anyOf(String attributeName)
PUBLIC:
Return an expression representing traversal of a 1:many or many:many relationship.
|
QueryKeyExpression |
derivedExpressionNamed(String attributeName) |
Expression |
derivedManualExpressionNamed(String attributeName,
ClassDescriptor aDescriptor) |
protected void |
doNotUseOuterJoin() |
protected void |
doUseOuterJoin() |
QueryKeyExpression |
existingDerivedExpressionNamed(String attributeName) |
Expression |
get(String attributeName,
Vector arguments)
INTERNAL:
|
Expression |
getAllowingNull(String attributeName,
Vector arguments)
INTERNAL:
|
ClassDescriptor |
getDescriptor() |
Vector |
getFields()
INTERNAL: Not to be confused with the public getField(String)
This returns a collection of all fields associated with this object.
|
protected Vector |
getForUpdateOfFields()
INTERNAL:
Returns the first field from each of the owned tables, used for
fine-grained pessimistic locking.
|
Expression |
getManualQueryKey(String attributeName,
ClassDescriptor aDescriptor) |
Vector |
getOwnedTables()
INTERNAL:
|
protected boolean |
hasDerivedExpressions() |
boolean |
isObjectExpression()
INTERNAL:
|
boolean |
isUsingOuterJoinForMultitableInheritance()
INTERNAL:
indicates whether additional expressions for multitable inheritance should be used and are available
|
QueryKeyExpression |
newDerivedExpressionNamed(String attributeName) |
Expression |
newManualDerivedExpressionNamed(String attributeName,
ClassDescriptor aDescriptor) |
protected void |
postCopyIn(Dictionary alreadyDone)
INTERNAL:
Used for cloning.
|
void |
postCopyIn(Dictionary alreadyDone,
Vector oldDerivedFields,
Vector oldDerivedTables)
INTERNAL:
The method was added to circumvent derivedFields and derivedTables being
protected.
|
void |
setShouldUseOuterJoinForMultitableInheritance(boolean shouldUseOuterJoinForMultitableInheritance)
INTERNAL:
set the flag indicating whether subclasses should be joined
|
boolean |
shouldUseOuterJoin() |
boolean |
shouldUseOuterJoinForMultitableInheritance() |
protected void |
writeForUpdateOfFields(ExpressionSQLPrinter printer,
SQLSelectStatement statement)
INTERNAL:
writes the first field from each of the owned tables, used for
fine-grained pessimistic locking.
|
addDerivedField, addDerivedTable, aliasForTable, assignAlias, assignAlias, clearAliases, copyCollection, existingDerivedField, existingDerivedTable, getAliasedField, getBaseExpression, getBuilder, getField, getField, getField, getMapping, getQueryKeyOrNull, getTable, getTable, getTableAliases, hasBeenAliased, hasBeenNormalized, hasDerivedFields, hasDerivedTables, isAttribute, isDataExpression, iterateOn, mappingCriteria, newDerivedField, newDerivedTable, normalize, printSQL, setBaseExpression, setHasBeenNormalized, setTableAliases, tableAliasesDescription, writeSubexpressionsTo
addDate, addDate, addMonths, addMonths, 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, anyOfAllowingNone, ascending, asciiValue, assignTableAliasesStartingAt, average, between, between, between, between, between, between, between, between, between, caseStatement, clone, cloneUsing, 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, descriptionOfNodeType, detectExpression, difference, distinct, doesConform, doesConform, equal, equal, equal, equal, equal, equal, equal, equal, equal, equal, equalOuterJoin, equalOuterJoin, equalsIgnoreCase, equalsIgnoreCase, exists, existsNode, extract, extractPrimaryKeyValues, extractValue, from, fromConstant, fromLiteral, get, getAllowingNull, getClonedField, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getName, getNumberVal, getOperator, getOperator, getParameter, getParameter, getParameter, getSession, getStringVal, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, hasAsOfClause, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, indexOf, isCompoundExpression, isConstantExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isFunctionExpression, isLiteralExpression, isLogicalExpression, isNull, isParameterExpression, isQueryKeyExpression, isRelationExpression, isTableExpression, 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, 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, notNull, or, performOperator, postfixSQL, prefixSQL, printJava, printSQLWithoutConversion, rebuildOn, ref, registerIn, replace, replicate, replicate, resetCache, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setLocalBase, setSelectIfOrderedBy, shallowClone, size, some, some, some, some, some, some, some, some, some, some, some, some, standardDeviation, subQuery, substring, substring, sum, toChar, toChar, toCharacter, toDate, toLowerCase, toNumber, toString, toString, toUpperCase, toUppercaseCasedWords, translate, trim, trim, truncateDate, twist, twistedForBaseAndContext, validateNode, value, value, value, value, value, value, value, value, value, value, valueFromObject, valueFromObject, variance, writeDescriptionOn, writeField, writeFields
public transient ClassDescriptor descriptor
public Vector derivedExpressions
protected boolean shouldUseOuterJoinForMultitableInheritance
protected boolean shouldUseOuterJoin
public void addDerivedExpression(Expression addThis)
public Expression additionalExpressionCriteria()
public Map additionalExpressionCriteriaMap()
public Expression anyOf(String attributeName)
Example:
TopLink: employee.anyOf("managedEmployees").get("firstName").equal("Bob") Java: no direct equivalent SQL: SELECT DISTINCT ... WHERE (t2.MGR_ID = t1.ID) AND (t2.F_NAME = 'Bob')
anyOf
in class Expression
public QueryKeyExpression derivedExpressionNamed(String attributeName)
public Expression derivedManualExpressionNamed(String attributeName, ClassDescriptor aDescriptor)
protected void doNotUseOuterJoin()
protected void doUseOuterJoin()
public QueryKeyExpression existingDerivedExpressionNamed(String attributeName)
public Expression get(String attributeName, Vector arguments)
Expression
get
in class Expression
public Expression getAllowingNull(String attributeName, Vector arguments)
Expression
getAllowingNull
in class Expression
public ClassDescriptor getDescriptor()
getDescriptor
in class DataExpression
public Vector getFields()
getFields
in class Expression
protected Vector getForUpdateOfFields()
public Expression getManualQueryKey(String attributeName, ClassDescriptor aDescriptor)
public Vector getOwnedTables()
getOwnedTables
in class DataExpression
protected boolean hasDerivedExpressions()
public boolean isObjectExpression()
Expression
isObjectExpression
in class Expression
public boolean isUsingOuterJoinForMultitableInheritance()
public QueryKeyExpression newDerivedExpressionNamed(String attributeName)
public Expression newManualDerivedExpressionNamed(String attributeName, ClassDescriptor aDescriptor)
protected void postCopyIn(Dictionary alreadyDone)
postCopyIn
in class DataExpression
public void postCopyIn(Dictionary alreadyDone, Vector oldDerivedFields, Vector oldDerivedTables)
public void setShouldUseOuterJoinForMultitableInheritance(boolean shouldUseOuterJoinForMultitableInheritance)
public boolean shouldUseOuterJoin()
public boolean shouldUseOuterJoinForMultitableInheritance()
protected void writeForUpdateOfFields(ExpressionSQLPrinter printer, SQLSelectStatement statement)
Copyright © 2022. All rights reserved.