org.eclipse.ocl.examples.xtext.essentialocl.cs2as
Class AbstractImplicitSourceNamedElementIterator<T extends NamedElement>

java.lang.Object
  extended by com.google.common.collect.UnmodifiableIterator<T>
      extended by org.eclipse.ocl.examples.xtext.essentialocl.cs2as.AbstractImplicitSourceNamedElementIterator<T>
All Implemented Interfaces:
java.util.Iterator<T>
Direct Known Subclasses:
ImplicitSourceTypeIterator, ImplicitSourceVariableIterator

public abstract class AbstractImplicitSourceNamedElementIterator<T extends NamedElement>
extends com.google.common.collect.UnmodifiableIterator<T>

An Iterator over the types of implicit source types or variables (most nested first).


Field Summary
protected static boolean CONTINUE
           
protected static boolean DONE
           
protected  T next
           
 
Constructor Summary
protected AbstractImplicitSourceNamedElementIterator(ElementCS csElement)
           
 
Method Summary
protected  boolean doNext(ElementCS csParent, ElementCS csChild)
          Assess csParent invoked from csChild and invoke setNext() if csParent provides a source variable.
 boolean hasNext()
           
 T next()
           
protected abstract  void setNext(Variable asVariable)
          Assign the iterable element when iterating at asVariable.
 
Methods inherited from class com.google.common.collect.UnmodifiableIterator
remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONTINUE

protected static final boolean CONTINUE
See Also:
Constant Field Values

DONE

protected static final boolean DONE
See Also:
Constant Field Values

next

@Nullable
protected T extends NamedElement next
Constructor Detail

AbstractImplicitSourceNamedElementIterator

protected AbstractImplicitSourceNamedElementIterator(@NonNull
                                                     ElementCS csElement)
Method Detail

doNext

protected boolean doNext(@NonNull
                         ElementCS csParent,
                         @NonNull
                         ElementCS csChild)
Assess csParent invoked from csChild and invoke setNext() if csParent provides a source variable. Return true if the hieerachical assessment is complete, false to continue.


hasNext

public boolean hasNext()

next

@NonNull
public T next()

setNext

protected abstract void setNext(@NonNull
                                Variable asVariable)
Assign the iterable element when iterating at asVariable.