/**
 * Iterable collections of values.
 *
 * @author CSC153 2003S
 */
public interface List
{
  /**
   * Get the cursor for stepping through the list.
   * Precondition:
   *   The list is nonempty.
   */
  public Cursor getCursor();

  /**
   * Add an element somewhere in the list.
   */
  public void add(Object val);

  /**
   * Determine how many elements are in the list.
   */
  public int length();

  /**
   * Determine whether the list is empty.
   */
  public boolean isEmpty();
} // interface List

