Module org.eclipse.persistence.core
Class ExpressionIterator
java.lang.Object
org.eclipse.persistence.internal.expressions.ExpressionIterator
Used to itterate an expression tree, through inner subclasses.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
hasAlreadyVisited
(Expression expression) Answers if this expression has already been visited.abstract void
iterate
(Expression expression) INTERNAL: This method must be defined by subclasses to implement the logic of the iteratation.void
INTERNAL:void
iterateOn
(Expression expression) INTERNAL: Return the call.void
void
setStatement
(SQLSelectStatement statement) boolean
Normally an Iterator will not go into the where clause of an SQLSubSelectExpression.
-
Field Details
-
result
Allow the iteration to build a result. -
statement
Some iterations require a statement. -
parameter
Some iterations require a more general parameter.
-
-
Constructor Details
-
ExpressionIterator
protected ExpressionIterator()Block constructor comment.
-
-
Method Details
-
getResult
-
getStatement
-
hasAlreadyVisited
Answers if this expression has already been visited. For a faster iteration override to insure expressions are only visited/processed once. -
iterate
INTERNAL: This method must be defined by subclasses to implement the logic of the iteratation. -
iterateOn
INTERNAL: -
iterateOn
INTERNAL: Return the call. -
setResult
-
setStatement
-
shouldIterateOverSubSelects
public boolean shouldIterateOverSubSelects()Normally an Iterator will not go into the where clause of an SQLSubSelectExpression. I.e. when aliasing the parent statement is aliased before the subselects may even be normalized. An iterator to alias the SubSelect must be run later.
-