Top Description Fields Constructors Methods
org.eclipse.persistence.internal.expressions

public abstract Class ExpressionIterator

extends Object
Class Inheritance
Imports
java.util.*, org.eclipse.persistence.expressions.*

Used to itterate an expression tree, through inner subclasses.

Field Summary

Modifier and TypeField and Description
protected Object
parameter

Some iterations require a more general parameter.

protected Object
result

Allow the iteration to build a result.

protected SQLSelectStatement
statement

Some iterations require a statement.

Constructor Summary

AccessConstructor and Description
protected
ExpressionIterator()

Block constructor comment.

Method Summary

Modifier and TypeMethod and Description
public Object
public SQLSelectStatement
public boolean
hasAlreadyVisited(Expression expression)

Answers if this expression has already been visited.

public abstract void
iterate(Expression expression)

INTERNAL: This method must be defined by subclasses to implement the logic of the iteratation.

public void
iterateOn(Vector<E> expressions)

INTERNAL:

public void
iterateOn(Expression expression)

INTERNAL: Return the call.

public void
setResult(Object result)

public void
public boolean
shouldIterateOverSubSelects()

Normally an Iterator will not go into the where clause of an SQLSubSelectExpression.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

parameterback to summary
protected Object parameter

Some iterations require a more general parameter.

resultback to summary
protected Object result

Allow the iteration to build a result.

statementback to summary
protected SQLSelectStatement statement

Some iterations require a statement.

Constructor Detail

ExpressionIteratorback to summary
protected ExpressionIterator()

Block constructor comment.

Method Detail

getResultback to summary
public Object getResult()
getStatementback to summary
public SQLSelectStatement getStatement()
hasAlreadyVisitedback to summary
public boolean hasAlreadyVisited(Expression expression)

Answers if this expression has already been visited. For a faster iteration override to insure expressions are only visited/processed once.

iterateback to summary
public abstract void iterate(Expression expression)

INTERNAL: This method must be defined by subclasses to implement the logic of the iteratation.

iterateOnback to summary
public void iterateOn(Vector<E> expressions)

INTERNAL:

iterateOnback to summary
public void iterateOn(Expression expression)

INTERNAL: Return the call.

setResultback to summary
public void setResult(Object result)
setStatementback to summary
public void setStatement(SQLSelectStatement statement)
shouldIterateOverSubSelectsback to summary
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.