public abstract class ObjectExpression extends DataExpression
| Modifier and Type | Field and Description |
|---|---|
java.util.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, tableAliasescurrentAlias, 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.
|
java.util.Map |
additionalExpressionCriteriaMap()
INTERNAL:
Used in case outer joins should be printed in FROM clause.
|
Expression |
anyOf(java.lang.String attributeName)
PUBLIC:
Return an expression representing traversal of a 1:many or many:many relationship.
|
QueryKeyExpression |
derivedExpressionNamed(java.lang.String attributeName) |
Expression |
derivedManualExpressionNamed(java.lang.String attributeName,
ClassDescriptor aDescriptor) |
protected void |
doNotUseOuterJoin() |
protected void |
doUseOuterJoin() |
QueryKeyExpression |
existingDerivedExpressionNamed(java.lang.String attributeName) |
Expression |
get(java.lang.String attributeName,
java.util.Vector arguments)
INTERNAL:
|
Expression |
getAllowingNull(java.lang.String attributeName,
java.util.Vector arguments)
INTERNAL:
|
ClassDescriptor |
getDescriptor() |
java.util.Vector |
getFields()
INTERNAL: Not to be confused with the public getField(String)
This returns a collection of all fields associated with this object.
|
protected java.util.Vector |
getForUpdateOfFields()
INTERNAL:
Returns the first field from each of the owned tables, used for
fine-grained pessimistic locking.
|
Expression |
getManualQueryKey(java.lang.String attributeName,
ClassDescriptor aDescriptor) |
java.util.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(java.lang.String attributeName) |
Expression |
newManualDerivedExpressionNamed(java.lang.String attributeName,
ClassDescriptor aDescriptor) |
protected void |
postCopyIn(java.util.Dictionary alreadyDone)
INTERNAL:
Used for cloning.
|
void |
postCopyIn(java.util.Dictionary alreadyDone,
java.util.Vector oldDerivedFields,
java.util.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, writeSubexpressionsToaddDate, 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, writeFieldspublic transient ClassDescriptor descriptor
public java.util.Vector derivedExpressions
protected boolean shouldUseOuterJoinForMultitableInheritance
protected boolean shouldUseOuterJoin
public void addDerivedExpression(Expression addThis)
public Expression additionalExpressionCriteria()
public java.util.Map additionalExpressionCriteriaMap()
public Expression anyOf(java.lang.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 Expressionpublic QueryKeyExpression derivedExpressionNamed(java.lang.String attributeName)
public Expression derivedManualExpressionNamed(java.lang.String attributeName, ClassDescriptor aDescriptor)
protected void doNotUseOuterJoin()
protected void doUseOuterJoin()
public QueryKeyExpression existingDerivedExpressionNamed(java.lang.String attributeName)
public Expression get(java.lang.String attributeName, java.util.Vector arguments)
Expressionget in class Expressionpublic Expression getAllowingNull(java.lang.String attributeName, java.util.Vector arguments)
ExpressiongetAllowingNull in class Expressionpublic ClassDescriptor getDescriptor()
getDescriptor in class DataExpressionpublic java.util.Vector getFields()
getFields in class Expressionprotected java.util.Vector getForUpdateOfFields()
public Expression getManualQueryKey(java.lang.String attributeName, ClassDescriptor aDescriptor)
public java.util.Vector getOwnedTables()
getOwnedTables in class DataExpressionprotected boolean hasDerivedExpressions()
public boolean isObjectExpression()
ExpressionisObjectExpression in class Expressionpublic boolean isUsingOuterJoinForMultitableInheritance()
public QueryKeyExpression newDerivedExpressionNamed(java.lang.String attributeName)
public Expression newManualDerivedExpressionNamed(java.lang.String attributeName, ClassDescriptor aDescriptor)
protected void postCopyIn(java.util.Dictionary alreadyDone)
postCopyIn in class DataExpressionpublic void postCopyIn(java.util.Dictionary alreadyDone,
java.util.Vector oldDerivedFields,
java.util.Vector oldDerivedTables)
public void setShouldUseOuterJoinForMultitableInheritance(boolean shouldUseOuterJoinForMultitableInheritance)
public boolean shouldUseOuterJoin()
public boolean shouldUseOuterJoinForMultitableInheritance()
protected void writeForUpdateOfFields(ExpressionSQLPrinter printer, SQLSelectStatement statement)