/**

 * Class DLNode for doubly linked nodes

 *

 * @author Jack Han

 */

public class DLNode <E>

{

    protected DLNode<E> next, prev;

    protected E element;

 

    /**

     * Constructor without parameter

     */

    public DLNode()

    {

        prev = null;

        next = null;

        element = null;       

    }

   

    // Constructor with element only

    public DLNode (E e)

    {

        prev = null;

        next = null;

        element = e;

    }

   

   // Constructor with all parameters

    public DLNode (E e, DLNode n, DLNode p)

    {

        prev = p;

        next = n;

        element = e;

    }

 

    // Getter of prev

    public DLNode getPrev ()

    {

        return prev;

    }

   

   // Getter of next

    public DLNode getNext ()

    {

        return next;

    }

   

    // Settet of prev

    public void setPrev (DLNode aNode)

    {

        prev = aNode;

    }

   

    // Setter of next

    public void setNext (DLNode aNode)

    {

        next = aNode;

    }

   

    // getter of element

    public E getElement ()

    {

        return element;

    }

   

    // setter of element

    public void setElement (E e)

    {

        element = e;

    }

}