uoc.ei.tads
Class IteradorRecorridoImpl<ERes,ERec>

java.lang.Object
  extended by uoc.ei.tads.IteradorRecorridoImpl<ERes,ERec>
All Implemented Interfaces:
java.io.Serializable, Iterador<ERes>

public class IteradorRecorridoImpl<ERes,ERec>
extends java.lang.Object
implements Iterador<ERes>

Clase que implementa las operaciones de recorrido de los elementos de un contenedor, por delegación en un recorrido de posiciones.

See Also:
Serialized Form

Field Summary
protected  Recorrido<ERec> recorrido
          Recorrido que implementa las operaciones por delegación.
 
Constructor Summary
IteradorRecorridoImpl(Recorrido<ERec> recorrido)
          Constructor con un parámetro.
 
Method Summary
protected  ERes getElem(Posicion<ERec> pos)
          Accesor de lectura del elemento almacenado en la posición.
 boolean haySiguiente()
          Comprueba si hay un primero o siguiente elemento.
 ERes siguiente()
          Accesor de lectura del primero o siguiente elemento de la enumeración.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

recorrido

protected Recorrido<ERec> recorrido
Recorrido que implementa las operaciones por delegación.

Constructor Detail

IteradorRecorridoImpl

public IteradorRecorridoImpl(Recorrido<ERec> recorrido)
Constructor con un parámetro.

Parameters:
recorrido - recorrido que proporciona los elementos
Method Detail

haySiguiente

public boolean haySiguiente()
Comprueba si hay un primero o siguiente elemento. Es sensible a eventuales alteraciones de la estructura de posiciones. Retorna falso si el contenedor está vacío o ya se ha visitado el último elemento.

Specified by:
haySiguiente in interface Iterador<ERes>
Returns:
cierto o falso, según si se puede avanzar o no se puede

siguiente

public ERes siguiente()
               throws ExcepcionPosicionInvalida
Accesor de lectura del primero o siguiente elemento de la enumeración.

Specified by:
siguiente in interface Iterador<ERes>
Returns:
primero o siguiente elemento al actual
Throws:
ExcepcionPosicionInvalida - si se quiere obtener el siguiente elemento de la enumeración y éste no existe.

getElem

protected ERes getElem(Posicion<ERec> pos)
Accesor de lectura del elemento almacenado en la posición.

Parameters:
pos - posición que contiene el elemento
Returns:
elemento contenido a la posición
See Also:
siguiente()