public class ParameterExpression extends Expression
| Modifier and Type | Field and Description |
|---|---|
protected Expression |
baseExpression
The base expression is what the parameter was derived from, used for nested parameters.
|
protected DatabaseField |
field
The parameter field or name.
|
protected Expression |
localBase
The opposite side of the relation, this is used for conversion of the parameter using the others mapping.
|
currentAlias, lastTable, selectIfOrderedBy| Constructor and Description |
|---|
ParameterExpression() |
ParameterExpression(DatabaseField field) |
ParameterExpression(DatabaseField field,
Expression baseExpression) |
ParameterExpression(java.lang.String fieldName) |
ParameterExpression(java.lang.String fieldName,
Expression baseExpression,
java.lang.Object type) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
basicDescription()
Return description.
|
java.lang.String |
descriptionOfNodeType()
INTERNAL:
Used for debug printing.
|
Expression |
get(java.lang.String attributeOrQueryKey)
This allows for nesting of parametrized expression.
|
Expression |
getBaseExpression()
The base expression is what the parameter was derived from.
|
ExpressionBuilder |
getBuilder()
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)
|
DatabaseField |
getField() |
Expression |
getField(DatabaseField field)
This allows for nesting of parametrized expression.
|
Expression |
getLocalBase()
The opposite side of the relation, this is used for conversion of the parameter using the others mapping.
|
java.lang.Object |
getType()
The infered type of this parameter.
|
java.lang.Object |
getValue(AbstractRecord translationRow,
AbstractSession session)
Extract the value from the row.
|
boolean |
isParameterExpression()
INTERNAL:
|
boolean |
isValueExpression()
INTERNAL:
|
protected void |
postCopyIn(java.util.Dictionary alreadyDone)
INTERNAL:
Used for cloning.
|
void |
printJava(ExpressionJavaPrinter printer)
INTERNAL:
Print java for project class generation
|
void |
printSQL(ExpressionSQLPrinter printer)
INTERNAL:
Print SQL onto the stream, using the ExpressionPrinter for context
|
Expression |
rebuildOn(Expression newBase)
INTERNAL:
This expression is built on a different base than the one we want.
|
protected void |
setBaseExpression(Expression baseExpression)
The base expression is what the parameter was derived from.
|
void |
setLocalBase(Expression localBase)
The opposite side of the relation, this is used for conversion of the parameter using the others mapping.
|
Expression |
twistedForBaseAndContext(Expression newBase,
Expression context)
INTERNAL:
Rebuild against the base, with the values of parameters supplied by the context
expression.
|
java.lang.Object |
valueFromObject(java.lang.Object object,
AbstractSession session,
AbstractRecord translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean isObjectUnregistered)
INTERNAL:
Return the value for in memory comparison.
|
void |
writeDescriptionOn(java.io.BufferedWriter writer)
INTERNAL:
Used to print a debug form of the expression tree.
|
void |
writeFields(ExpressionSQLPrinter printer,
java.util.Vector newFields,
SQLSelectStatement statement)
INTERNAL:
Append the parameter into the printer.
|
void |
writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
Print the base for debuggin purposes.
|
addDate, addDate, addMonths, addMonths, aliasForTable, 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, ascending, asciiValue, assignAlias, 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, 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, getAllowingNull, getClonedField, getField, getFields, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getName, getNumberVal, getOperator, getOperator, getOwnedTables, getParameter, getParameter, getParameter, getSession, getStringVal, getTable, getTable, getTableAliases, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, greaterThanEqual, hasAsOfClause, hasBeenAliased, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, indexOf, isCompoundExpression, isConstantExpression, isDataExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isFunctionExpression, isLiteralExpression, isLogicalExpression, isNull, isObjectExpression, isQueryKeyExpression, isRelationExpression, isTableExpression, iterateOn, 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, normalize, 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, printSQLWithoutConversion, ref, registerIn, replace, replicate, replicate, resetCache, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, 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, validateNode, value, value, value, value, value, value, value, value, value, value, valueFromObject, variance, writeFieldprotected DatabaseField field
protected Expression localBase
protected Expression baseExpression
public ParameterExpression()
public ParameterExpression(java.lang.String fieldName)
public ParameterExpression(DatabaseField field)
public ParameterExpression(java.lang.String fieldName,
Expression baseExpression,
java.lang.Object type)
public ParameterExpression(DatabaseField field, Expression baseExpression)
public java.lang.String basicDescription()
public java.lang.String descriptionOfNodeType()
descriptionOfNodeType in class Expressionpublic Expression get(java.lang.String attributeOrQueryKey)
get in class Expressionpublic Expression getBaseExpression()
public ExpressionBuilder getBuilder()
getBuilder in class Expressionpublic DatabaseField getField()
public Expression getField(DatabaseField field)
getField in class Expressionpublic Expression getLocalBase()
public java.lang.Object getType()
public java.lang.Object getValue(AbstractRecord translationRow, AbstractSession session)
public boolean isParameterExpression()
ExpressionisParameterExpression in class Expressionpublic boolean isValueExpression()
isValueExpression in class Expressionprotected void postCopyIn(java.util.Dictionary alreadyDone)
postCopyIn in class Expressionpublic void printSQL(ExpressionSQLPrinter printer)
printSQL in class Expressionpublic void printJava(ExpressionJavaPrinter printer)
printJava in class Expressionpublic Expression rebuildOn(Expression newBase)
rebuildOn in class ExpressionExpression.cloneUsing(Expression newBase)protected void setBaseExpression(Expression baseExpression)
public void setLocalBase(Expression localBase)
setLocalBase in class Expressionpublic Expression twistedForBaseAndContext(Expression newBase, Expression context)
twistedForBaseAndContext in class Expressionpublic java.lang.Object valueFromObject(java.lang.Object object,
AbstractSession session,
AbstractRecord translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean isObjectUnregistered)
valueFromObject in class Expressionpublic void writeDescriptionOn(java.io.BufferedWriter writer)
throws java.io.IOException
writeDescriptionOn in class Expressionjava.io.IOExceptionpublic void writeFields(ExpressionSQLPrinter printer, java.util.Vector newFields, SQLSelectStatement statement)
writeFields in class Expressionpublic void writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
throws java.io.IOException
writeSubexpressionsTo in class Expressionjava.io.IOException