uoc.ei.tads
Class ArbolGeneralDelegImpl.RecorridoHijos<E>

java.lang.Object
  extended by uoc.ei.tads.ArbolGeneralDelegImpl.RecorridoHijos<E>
All Implemented Interfaces:
java.io.Serializable, Recorrido<E>
Enclosing class:
ArbolGeneralDelegImpl<E>

protected static class ArbolGeneralDelegImpl.RecorridoHijos<E>
extends java.lang.Object
implements Recorrido<E>

Clase que proporciona un recorrido de las posiciones. Basada en el pattern Iterator, soporta múltiples recorridos simultáneos y independientes del contenedor. Es sensible a eventuales alteraciones de la estructura de posiciones.

See Also:
Recorrido.haySiguiente(), Recorrido.siguiente(), Serialized Form

Field Summary
protected  ArbolGeneralDelegImpl<E> arbol
          Arbol que se está recorriendo.
protected  Posicion<E> hijo
          Posición auxiliar.
 
Constructor Summary
ArbolGeneralDelegImpl.RecorridoHijos(ArbolGeneralDelegImpl<E> arbol, Posicion<E> padre)
          Constructor.
 
Method Summary
 boolean haySiguiente()
          Comprueba si hay una primera o siguiente posición.
 Posicion<E> siguiente()
          Primero avanza, si se puede, y después retorna la posición.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

arbol

protected ArbolGeneralDelegImpl<E> arbol
Arbol que se está recorriendo.


hijo

protected Posicion<E> hijo
Posición auxiliar.

Constructor Detail

ArbolGeneralDelegImpl.RecorridoHijos

public ArbolGeneralDelegImpl.RecorridoHijos(ArbolGeneralDelegImpl<E> arbol,
                                            Posicion<E> padre)
Constructor.

Parameters:
padre - posicio de referencia; se espera que sea una posición válida
Method Detail

haySiguiente

public boolean haySiguiente()
Comprueba si hay una primera o siguiente posición. Es sensible a eventuales alteraciones de la estructura de posiciones. Retorna falso si está vacío o ya se ha visitado la última posición.

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

siguiente

public Posicion<E> siguiente()
                      throws ExcepcionPosicionInvalida
Primero avanza, si se puede, y después retorna la posición. Si no hay siguiente posición lanza una excepción.

Specified by:
siguiente in interface Recorrido<E>
Returns:
siguiente posición
Throws:
ExcepcionPosicionInvalida - si se quiere obtener el siguiente elemento de la enumeración y no existe tal elemento.