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(String fieldName) |
ParameterExpression(String fieldName,
Expression baseExpression,
Object type) |
Modifier and Type | Method and Description |
---|---|
String |
basicDescription()
Return description.
|
String |
descriptionOfNodeType()
INTERNAL:
Used for debug printing.
|
Expression |
get(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.
|
Object |
getType()
The infered type of this parameter.
|
Object |
getValue(AbstractRecord translationRow,
AbstractSession session)
Extract the value from the row.
|
boolean |
isParameterExpression()
INTERNAL:
|
boolean |
isValueExpression()
INTERNAL:
|
protected void |
postCopyIn(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.
|
Object |
valueFromObject(Object object,
AbstractSession session,
AbstractRecord translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean isObjectUnregistered)
INTERNAL:
Return the value for in memory comparison.
|
void |
writeDescriptionOn(BufferedWriter writer)
INTERNAL:
Used to print a debug form of the expression tree.
|
void |
writeFields(ExpressionSQLPrinter printer,
Vector newFields,
SQLSelectStatement statement)
INTERNAL:
Append the parameter into the printer.
|
void |
writeSubexpressionsTo(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, writeField
protected DatabaseField field
protected Expression localBase
protected Expression baseExpression
public ParameterExpression()
public ParameterExpression(String fieldName)
public ParameterExpression(DatabaseField field)
public ParameterExpression(String fieldName, Expression baseExpression, Object type)
public ParameterExpression(DatabaseField field, Expression baseExpression)
public String basicDescription()
public String descriptionOfNodeType()
descriptionOfNodeType
in class Expression
public Expression get(String attributeOrQueryKey)
get
in class Expression
public Expression getBaseExpression()
public ExpressionBuilder getBuilder()
getBuilder
in class Expression
public DatabaseField getField()
public Expression getField(DatabaseField field)
getField
in class Expression
public Expression getLocalBase()
public Object getType()
public Object getValue(AbstractRecord translationRow, AbstractSession session)
public boolean isParameterExpression()
Expression
isParameterExpression
in class Expression
public boolean isValueExpression()
isValueExpression
in class Expression
protected void postCopyIn(Dictionary alreadyDone)
postCopyIn
in class Expression
public void printSQL(ExpressionSQLPrinter printer)
printSQL
in class Expression
public void printJava(ExpressionJavaPrinter printer)
printJava
in class Expression
public Expression rebuildOn(Expression newBase)
rebuildOn
in class Expression
Expression.cloneUsing(Expression newBase)
protected void setBaseExpression(Expression baseExpression)
public void setLocalBase(Expression localBase)
setLocalBase
in class Expression
public Expression twistedForBaseAndContext(Expression newBase, Expression context)
twistedForBaseAndContext
in class Expression
public Object valueFromObject(Object object, AbstractSession session, AbstractRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean isObjectUnregistered)
valueFromObject
in class Expression
public void writeDescriptionOn(BufferedWriter writer) throws IOException
writeDescriptionOn
in class Expression
IOException
public void writeFields(ExpressionSQLPrinter printer, Vector newFields, SQLSelectStatement statement)
writeFields
in class Expression
public void writeSubexpressionsTo(BufferedWriter writer, int indent) throws IOException
writeSubexpressionsTo
in class Expression
IOException
Copyright © 2022. All rights reserved.