/**
 * ListNode.java
 * @author Eric Alexander
 * 
 * This class serves as a node for our Stack class (implemented as a linked list).
 *
 * @param <E>	the intended data type to be stored
 */
public class ListNode<E> {
	// Instance variables
	private E data;
	private ListNode<E> next;
	
	/**
	 * Constructor - takes only data
	 * @param d	the node's data
	 */
	public ListNode(E d) {
		data = d;
		next = null;
	}
	
	/**
	 * Constructor - takes data and next node
	 * @param d	the node's data
	 * @param n	the next node
	 */
	public ListNode(E d, ListNode<E> n) {
		data = d;
		next = n;
	}
	
	/**
	 * Getter for data field
	 * @return	node's data
	 */
	public E getData() {
		return data;
	}
	
	/**
	 * Setter for data field
	 * @param d	node's data
	 */
	public void setData(E d) {
		data = d;
	}
	
	/**
	 * Getter for next field
	 * @return	the next node
	 */
	public ListNode<E> getNext() {
		return next;
	}
	
	/**
	 * Setter for next field
	 * @param n	the next node
	 */
	public void setNext(ListNode<E> n) {
		next = n;
	}
}
