Package raven.utils

Class UndoRedo<E>

java.lang.Object
raven.utils.UndoRedo<E>
Type Parameters:
E - Tipo de elemento que se va a deshacer o rehacer.
All Implemented Interfaces:
Iterable<E>

public class UndoRedo<E> extends Object implements Iterable<E>
Clase que implementa un mecanismo simple de deshacer y rehacer (undo/redo) mediante el uso de pilas.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor que inicializa la clase UndoRedo con dos pilas vacías.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(E item)
    Agrega un elemento a la pila de deshacer y borra la pila de rehacer.
    void
    Borra todas las acciones de deshacer y rehacer.
    void
    Borra todas las acciones de rehacer.
    Obtiene el elemento actual (sin deshacer ni rehacer).
    boolean
    Verifica si es posible rehacer una acción.
    boolean
    Verifica si es posible deshacer una acción.
    Obtiene un iterador que itera sobre todos los elementos (deshacer y rehacer) en el orden en que se realizaron.
    Rehace la última acción deshecha y devuelve el elemento resultante.
    Deshace la última acción y devuelve el elemento resultante.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • UndoRedo

      public UndoRedo()
      Constructor que inicializa la clase UndoRedo con dos pilas vacías.
  • Method Details

    • add

      public void add(E item)
      Agrega un elemento a la pila de deshacer y borra la pila de rehacer.
      Parameters:
      item - El elemento a agregar.
    • undo

      public E undo()
      Deshace la última acción y devuelve el elemento resultante.
      Returns:
      El elemento deshecho o nulo si no hay más acciones para deshacer.
    • redo

      public E redo()
      Rehace la última acción deshecha y devuelve el elemento resultante.
      Returns:
      El elemento rehecho o nulo si no hay más acciones para rehacer.
    • getCurrent

      public E getCurrent()
      Obtiene el elemento actual (sin deshacer ni rehacer).
      Returns:
      El elemento actual o nulo si no hay elementos.
    • isUndoAble

      public boolean isUndoAble()
      Verifica si es posible deshacer una acción.
      Returns:
      `true` si es posible deshacer, `false` en caso contrario.
    • isRedoAble

      public boolean isRedoAble()
      Verifica si es posible rehacer una acción.
      Returns:
      `true` si es posible rehacer, `false` en caso contrario.
    • clear

      public void clear()
      Borra todas las acciones de deshacer y rehacer.
    • clearRedo

      public void clearRedo()
      Borra todas las acciones de rehacer.
    • iterator

      public Iterator<E> iterator()
      Obtiene un iterador que itera sobre todos los elementos (deshacer y rehacer) en el orden en que se realizaron.
      Specified by:
      iterator in interface Iterable<E>
      Returns:
      Un iterador sobre los elementos.