| 
Oracle® Fusion Middleware Java API Reference for EclipseLink 11g Release 1 (11.1.1) E26376-01  | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
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.expressions.ExpressionBuilder
public class ExpressionBuilder
Purpose: Allow for instances of expression to be created. Expressions are Java object-level representations of SQL "where" clauses. The expressions attempt to mirror Java code as closely as possible.
Example:
ExpressionBuilder employee = new ExpressionBuilder(); employee.get("firstName").equal("Bob").and(employee.get("lastName").equal("Smith")) >> equivalent Java code: (employee.getFirstName().equals("Bob")) && (employee.getLastName().equals("Smith")) >> equivalent SQL: (F_NAME = 'Bob') AND (L_NAME = 'Smith')
Expression, Serialized Form| Field Summary | |
|---|---|
protected  org.eclipse.persistence.internal.helper.DatabaseTable | 
aliasedViewTable | 
protected  java.lang.Class | 
queryClass | 
protected  org.eclipse.persistence.internal.sessions.AbstractSession | 
session | 
protected  org.eclipse.persistence.internal.expressions.SQLSelectStatement | 
statement | 
protected  org.eclipse.persistence.internal.helper.DatabaseTable | 
viewTable | 
protected  boolean | 
wasAdditionJoinCriteriaUsed | 
protected  boolean | 
wasQueryClassSetInternally | 
| Fields inherited from class org.eclipse.persistence.internal.expressions.ObjectExpression | 
|---|
castClass, derivedExpressions, descriptor, 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 | 
| Constructor Summary | |
|---|---|
ExpressionBuilder()PUBLIC: Create a new ExpressionBuilder.  | 
|
ExpressionBuilder(java.lang.Class queryClass)ADVANCED: Create a new ExpressionBuilder representing instances of the argument class.  | 
|
| Method Summary | |
|---|---|
 org.eclipse.persistence.internal.helper.DatabaseTable | 
aliasForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)INTERNAL: Find the alias for a given table.  | 
 int | 
assignTableAliasesStartingAt(int initialValue)INTERNAL: Assign aliases to any tables which I own.  | 
 java.lang.String | 
descriptionOfNodeType()INTERNAL: Used for debug printing.  | 
 boolean | 
doesNotRepresentAnObjectInTheQuery()INTERNAL: There are cases (which we might want to eliminate?)  | 
 boolean | 
equals(java.lang.Object expression)INTERNAL: Return if the expression is equal to the other.  | 
 org.eclipse.persistence.internal.helper.DatabaseTable | 
getAliasedViewTable()INTERNAL:  | 
 ExpressionBuilder | 
getBuilder()INTERNAL: Return the expression builder which is the ultimate base of this expression, or null if there isn't one (shouldn't happen if we start from a root)  | 
 ClassDescriptor | 
getDescriptor()INTERNAL: Only usable after the session and class have been set.  | 
 java.lang.Class | 
getQueryClass()INTERNAL:  | 
 org.eclipse.persistence.internal.sessions.AbstractSession | 
getSession()INTERNAL:  | 
 org.eclipse.persistence.internal.expressions.SQLSelectStatement | 
getStatement()INTERNAL: Return the statement that expression is for.  | 
 org.eclipse.persistence.internal.helper.DatabaseTable | 
getViewTable()INTERNAL:  | 
 boolean | 
hasViewTable()INTERNAL:  | 
 boolean | 
isExpressionBuilder()INTERNAL:  | 
 Expression | 
normalize(org.eclipse.persistence.internal.expressions.ExpressionNormalizer normalizer)INTERNAL: Normalize the expression into a printable structure.  | 
 void | 
printJava(org.eclipse.persistence.internal.expressions.ExpressionJavaPrinter printer)INTERNAL: Print java  | 
 Expression | 
rebuildOn(Expression newBase)INTERNAL: This expression is built on a different base than the one we want.  | 
protected  Expression | 
registerIn(java.util.Map alreadyDone)INTERNAL: Override Expression.registerIn to check if the new base expression has already been provided for the clone.  | 
 void | 
resetPlaceHolderBuilder(ExpressionBuilder queryBuilder)INTERNAL: Search the tree for any expressions (like SubSelectExpressions) that have been built using a builder that is not attached to the query.  | 
 void | 
setQueryClass(java.lang.Class queryClass)INTERNAL: Set the class which this node represents.  | 
 void | 
setQueryClassAndDescriptor(java.lang.Class queryClass, ClassDescriptor descriptor)INTERNAL: Set the class and descriptor which this node represents.  | 
 void | 
setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: Set the session in which we expect this expression to be translated.  | 
 void | 
setStatement(org.eclipse.persistence.internal.expressions.SQLSelectStatement statement)INTERNAL: Set the statement that expression is for.  | 
 void | 
setViewTable(org.eclipse.persistence.internal.helper.DatabaseTable theTable)INTERNAL: This expression represents something read through a view table.  | 
 void | 
setWasAdditionJoinCriteriaUsed(boolean joinCriteriaUsed)INTERNAL: If the additional Join Criteria for the class this builder represents has been added to the statement then mark this as true.  | 
 Expression | 
twistedForBaseAndContext(Expression newBase, Expression context, Expression oldBase)INTERNAL: Rebuild myself against the base, with the values of parameters supplied by the context expression.  | 
 java.lang.Object | 
valueFromObject(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, int valueHolderPolicy, boolean isObjectUnregistered)INTERNAL: The expression builder represent the entire object, just return it.  | 
 boolean | 
wasAdditionJoinCriteriaUsed()INTERNAL: If the additional Join Criteria for the class this builder represents has been added to the statement this method will return true;  | 
 boolean | 
wasQueryClassSetInternally()INTERNAL: Returns true if TopLink set the query class as opposed to the customer.  | 
 void | 
writeDescriptionOn(java.io.BufferedWriter writer)INTERNAL: For debug printing purposes.  | 
| Methods inherited from class org.eclipse.persistence.internal.expressions.ObjectExpression | 
|---|
addDerivedExpression, additionalExpressionCriteria, additionalExpressionCriteriaMap, anyOf, anyOfAllowingNone, as, convertToCastDescriptor, derivedExpressionNamed, derivedManualExpressionNamed, doNotUseOuterJoin, doUseOuterJoin, existingDerivedExpressionNamed, get, getAdditionalTables, getAllowingNull, getCastClass, getFields, getForUpdateOfFields, getManualQueryKey, getOwnedTables, hasDerivedExpressions, isObjectExpression, isUsingOuterJoinForMultitableInheritance, newDerivedExpressionNamed, newManualDerivedExpressionNamed, postCopyIn, postCopyIn, setCastClass, setShouldUseOuterJoinForMultitableInheritance, shouldUseOuterJoin, shouldUseOuterJoinForMultitableInheritance, type, writeForUpdateOfFields | 
| Methods inherited from class org.eclipse.persistence.internal.expressions.DataExpression | 
|---|
addDerivedField, addDerivedTable, asOf, assignAlias, assignAlias, clearAliases, copyCollection, existingDerivedField, existingDerivedTable, getAliasedField, getAsOfClause, getField, getField, getField, getMapping, getQueryKeyOrNull, getTable, getTable, getTableAliases, hasAsOfClause, hasBeenAliased, hasBeenNormalized, hasDerivedFields, hasDerivedTables, isAttribute, isDataExpression, iterateOn, mappingCriteria, newDerivedField, newDerivedTable, printSQL, setHasBeenNormalized, setTableAliases, tableAliasesDescription, writeSubexpressionsTo | 
| Methods inherited from class org.eclipse.persistence.internal.expressions.BaseExpression | 
|---|
getBaseExpression, setBaseExpression, shallowClone | 
| Methods inherited from class java.lang.Object | 
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
protected transient org.eclipse.persistence.internal.sessions.AbstractSession session
protected java.lang.Class queryClass
protected org.eclipse.persistence.internal.expressions.SQLSelectStatement statement
protected org.eclipse.persistence.internal.helper.DatabaseTable viewTable
protected org.eclipse.persistence.internal.helper.DatabaseTable aliasedViewTable
protected boolean wasQueryClassSetInternally
protected boolean wasAdditionJoinCriteriaUsed
| Constructor Detail | 
|---|
public ExpressionBuilder()
public ExpressionBuilder(java.lang.Class queryClass)
| Method Detail | 
|---|
public boolean equals(java.lang.Object expression)
equals in class org.eclipse.persistence.internal.expressions.ObjectExpressionpublic org.eclipse.persistence.internal.helper.DatabaseTable aliasForTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
aliasForTable in class org.eclipse.persistence.internal.expressions.DataExpressionpublic int assignTableAliasesStartingAt(int initialValue)
assignTableAliasesStartingAt in class Expressionpublic java.lang.String descriptionOfNodeType()
descriptionOfNodeType in class Expressionpublic boolean doesNotRepresentAnObjectInTheQuery()
public org.eclipse.persistence.internal.helper.DatabaseTable getAliasedViewTable()
public ExpressionBuilder getBuilder()
getBuilder in class org.eclipse.persistence.internal.expressions.BaseExpressionpublic ClassDescriptor getDescriptor()
getDescriptor in class org.eclipse.persistence.internal.expressions.ObjectExpressionpublic java.lang.Class getQueryClass()
public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
getSession in class Expressionpublic org.eclipse.persistence.internal.expressions.SQLSelectStatement getStatement()
public org.eclipse.persistence.internal.helper.DatabaseTable getViewTable()
public boolean hasViewTable()
public boolean isExpressionBuilder()
isExpressionBuilder in class Expressionpublic Expression normalize(org.eclipse.persistence.internal.expressions.ExpressionNormalizer normalizer)
normalize in class org.eclipse.persistence.internal.expressions.DataExpressionpublic void printJava(org.eclipse.persistence.internal.expressions.ExpressionJavaPrinter printer)
printJava in class Expressionpublic Expression rebuildOn(Expression newBase)
rebuildOn in class ExpressionExpression.cloneUsing(Expression newBase)public void resetPlaceHolderBuilder(ExpressionBuilder queryBuilder)
resetPlaceHolderBuilder in class org.eclipse.persistence.internal.expressions.BaseExpressionprotected Expression registerIn(java.util.Map alreadyDone)
registerIn in class ExpressionExpression.cloneUsing(Expression)public void setQueryClass(java.lang.Class queryClass)
public void setQueryClassAndDescriptor(java.lang.Class queryClass,
                                       ClassDescriptor descriptor)
public void setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void setStatement(org.eclipse.persistence.internal.expressions.SQLSelectStatement statement)
public void setViewTable(org.eclipse.persistence.internal.helper.DatabaseTable theTable)
public void setWasAdditionJoinCriteriaUsed(boolean joinCriteriaUsed)
public Expression twistedForBaseAndContext(Expression newBase,
                                           Expression context,
                                           Expression oldBase)
twistedForBaseAndContext in class ExpressionnewBase -context -
public java.lang.Object valueFromObject(java.lang.Object object,
                                        org.eclipse.persistence.internal.sessions.AbstractSession session,
                                        org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
                                        int valueHolderPolicy,
                                        boolean isObjectUnregistered)
valueFromObject in class ExpressionisObjectUnregistered - true if object possibly not a clone, but is being conformed against the unit of work cache.public boolean wasAdditionJoinCriteriaUsed()
public boolean wasQueryClassSetInternally()
public void writeDescriptionOn(java.io.BufferedWriter writer)
                        throws java.io.IOException
writeDescriptionOn in class Expressionjava.io.IOException
  | 
Oracle® Fusion Middleware Java API Reference for EclipseLink 11g Release 1 (11.1.1) E26376-01  | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||