package Node; public class Node { T data; private Node nextNode; private Node prevNode; public Node (T data) { this.data = data; this.nextNode = null; this.prevNode = null; } public Node (T data, Node nextNode) { this.data = data; this.nextNode = nextNode; this.prevNode = null; } public Node (T data, Node nextNode, Node prevNode) { this.data = data; this.nextNode = nextNode; this.prevNode = prevNode; } public void setData (T data) { this.data = data; } public T getData () { return data; } public void setNextNode (Node nextNode) { this.nextNode = nextNode; } public Node getNextNode () { return nextNode; } public void setPrevNode (Node prevNode) { this.prevNode = prevNode; } public Node getPrevNode () { return prevNode; } @Override public String toString () { String nodeData; String nextData; String prevData; try { nodeData = getData().toString(); } catch (NullPointerException nullPointer) { nodeData = "Null"; } try { nextData = getNextNode().getData().toString(); } catch (NullPointerException nullPointer) { nextData = "Null"; } try { prevData = getPrevNode().getData().toString(); } catch (NullPointerException nullPointer) { prevData = "Null"; } String display = "Prev Node Data: " + prevData + "\n" + "Node Data: " + nodeData + "\n" + "Next Node Data: " + nextData + "\n"; return display; } }