public class SubSelectExpression extends BaseExpression
shouldUseUpperCaseForIgnoreCase
Constructor and Description |
---|
SubSelectExpression() |
SubSelectExpression(ReportQuery query,
Expression baseExpression) |
Modifier and Type | Method and Description |
---|---|
static SubSelectExpression |
createSubSelectExpressionForCount(Expression outerQueryBaseExpression,
Expression outerQueryCriteria,
java.lang.String attribute,
java.lang.Class returnType)
INTERNAL:
This factory method is used to build a subselect that will do a count.
|
java.lang.String |
descriptionOfNodeType()
INTERNAL:
Used in debug printing of this node.
|
boolean |
equals(java.lang.Object object)
INTERNAL:
Return if the expression is equal to the other.
|
ReportQuery |
getSubQuery() |
boolean |
isSubSelectExpression()
INTERNAL:
|
void |
iterateOn(ExpressionIterator iterator)
INTERNAL:
For iterating using an inner class
|
Expression |
normalize(ExpressionNormalizer normalizer)
INTERNAL:
The subquery must be normalized with the knowledge of the outer statement for outer references and correct aliasing.
|
Expression |
normalizeSubSelect(ExpressionNormalizer normalizer,
java.util.Map clonedExpressions)
INTERNAL:
Normalize this expression now that the parent statement has been normalized.
|
void |
printSQL(ExpressionSQLPrinter printer)
Print the sub query to the printer.
|
Expression |
rebuildOn(Expression newBase)
Should not rebuild as has its on expression builder.
|
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 |
setSubQuery(ReportQuery subQuery) |
Expression |
twistedForBaseAndContext(Expression newBase,
Expression context,
Expression oldBase)
INTERNAL:
Rebuild myself against the base, with the values of parameters supplied by the context
expression.
|
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: called from SQLSelectStatement.writeFieldsFromExpression(...)
This allows a sub query in the select clause.
|
void |
writeSubexpressionsTo(java.io.BufferedWriter writer,
int indent)
INTERNAL:
Used in SQL printing.
|
getBaseExpression, getBuilder, setBaseExpression, shallowClone
addDate, addDate, addMonths, addMonths, alias, aliasForTable, all, 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, any, anyOf, anyOf, anyOfAllowingNone, anyOfAllowingNone, as, as, ascending, asciiValue, asOf, assignTableAliasesStartingAt, average, between, between, between, between, between, between, between, between, between, caseConditionStatement, caseConditionStatement, caseStatement, caseStatement, cast, clone, cloneUsing, coalesce, coalesce, computeHashCode, concat, containsAllKeyWords, containsAnyKeyWords, containsSubstring, containsSubstring, containsSubstringIgnoringCase, containsSubstringIgnoringCase, convertToUseOuterJoin, copiedVersionFrom, count, create, create, createWithBaseLast, currentDate, currentDateDate, currentTime, currentTimeStamp, dateDifference, dateDifference, dateName, datePart, dateToString, decode, descending, difference, distinct, doesConform, doesConform, equal, equal, equal, equal, equal, equal, equal, equal, equal, equal, equalOuterJoin, equalOuterJoin, equalsIgnoreCase, equalsIgnoreCase, except, except, exceptAll, exceptAll, exists, existsNode, extract, extractFields, extractPrimaryKeyValues, extractValue, extractValues, extractXml, from, fromConstant, fromLiteral, get, get, getAlias, getAllowingNull, getAsOfClause, getAsOfClauseRecursively, getClonedField, getField, getField, getFields, getFieldValue, getFunction, getFunction, getFunction, getFunction, getFunction, getFunctionWithArguments, getFunctionWithArguments, getLeafDescriptor, getLeafMapping, getName, getNumberVal, getOperator, getOperator, getOwnedTables, getParameter, getParameter, getParameter, getProperty, getSelectionFields, getSelectionFields, 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, hashCode, hexToRaw, ifNull, in, in, in, in, in, in, in, in, in, in, in, in, index, indexOf, intersect, intersect, intersectAll, intersectAll, isClassTypeExpression, isCompoundExpression, isConstantExpression, isDataExpression, isEmpty, isExpressionBuilder, isFieldExpression, isFragment, isFunctionExpression, isLiteralExpression, isLogicalExpression, isMapEntryExpression, isNull, isObjectExpression, isParameterExpression, isQueryKeyExpression, isRelationExpression, isTableExpression, isTreatExpression, isValueExpression, join, lastDay, leftJoin, 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, mapEntry, mapKey, 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, notLike, notLike, notNull, nullIf, nullsFirst, nullsLast, operator, or, performOperator, postfixSQL, prefixSQL, printJava, ref, regexp, regexp, replace, replicate, replicate, reverse, right, right, rightPad, rightPad, rightTrim, rightTrim, roundDate, selectIfOrderedBy, setLocalBase, setSelectIfOrderedBy, size, size, some, some, some, some, some, some, some, some, some, some, some, some, some, sql, standardDeviation, subQuery, substring, substring, substring, substring, sum, toChar, toChar, toCharacter, toDate, toLowerCase, toNumber, toString, toString, toUpperCase, toUppercaseCasedWords, translate, treat, trim, trim, truncateDate, twist, type, union, union, unionAll, unionAll, validateNode, value, value, value, value, value, value, value, value, value, value, valueFromObject, valueFromObject, variance
public SubSelectExpression()
public SubSelectExpression(ReportQuery query, Expression baseExpression)
public boolean equals(java.lang.Object object)
equals
in class Expression
public java.lang.String descriptionOfNodeType()
descriptionOfNodeType
in class Expression
public ReportQuery getSubQuery()
public boolean isSubSelectExpression()
isSubSelectExpression
in class Expression
public void iterateOn(ExpressionIterator iterator)
iterateOn
in class Expression
public Expression normalize(ExpressionNormalizer normalizer)
normalize
in class Expression
public Expression normalizeSubSelect(ExpressionNormalizer normalizer, java.util.Map clonedExpressions)
public void printSQL(ExpressionSQLPrinter printer)
printSQL
in class Expression
public Expression rebuildOn(Expression newBase)
rebuildOn
in class Expression
Expression.cloneUsing(Expression newBase)
public void resetPlaceHolderBuilder(ExpressionBuilder queryBuilder)
resetPlaceHolderBuilder
in class BaseExpression
public void setSubQuery(ReportQuery subQuery)
public Expression twistedForBaseAndContext(Expression newBase, Expression context, Expression oldBase)
Expression
twistedForBaseAndContext
in class Expression
public void writeDescriptionOn(java.io.BufferedWriter writer) throws java.io.IOException
writeDescriptionOn
in class Expression
java.io.IOException
public void writeSubexpressionsTo(java.io.BufferedWriter writer, int indent) throws java.io.IOException
writeSubexpressionsTo
in class Expression
java.io.IOException
public void writeFields(ExpressionSQLPrinter printer, java.util.Vector newFields, SQLSelectStatement statement)
writeFields
in class Expression
public static SubSelectExpression createSubSelectExpressionForCount(Expression outerQueryBaseExpression, Expression outerQueryCriteria, java.lang.String attribute, java.lang.Class returnType)
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference