// Generic version of DLLNodeInt.java
// Replace: int data -> E data, DLLNodeInt -> DLLNode<E>
public class DLLNode<E> {
    private E data;
    private DLLNode<E> next;
    private DLLNode<E> previous;

    public E getData() { return data; }
    public DLLNode<E> getNext() { return next; }
    public DLLNode<E> getPrevious() { return previous; }

    public void setData(E newValue) { data = newValue; }
    public void setNext(DLLNode<E> newNext) { next = newNext; }
    public void setPrevious(DLLNode<E> newPrevious) { previous = newPrevious; }

    public DLLNode() {
        data = null;
        next = null;
        previous = null;
    }

    public DLLNode(E newData) {
        data = newData;
        next = null;
        previous = null;
    }
}
