/**
 * Either prereq1 or prereq2.
 *
 * @author Samuel A. Rebelsky
 * @author CSC153 2003S
 * @version 0.1 of April 2003
 */
public class PrereqOr
  implements Prereq
{

  // +--------+-----------------------------------------
  // | Fields |
  // +--------+

  Prereq first;
  Prereq second;


  // +--------------+-----------------------------------
  // | Constructors |
  // +--------------+

  public PrereqOr(Prereq first, Prereq second)
  {
    this.first = first;
    this.second = second;
  } // PrereqOr(Prereq,Prereq)

  // +-----------------+--------------------------------
  // | Primary Methods |
  // +-----------------+

  /**
   * Determine if you can actually do something. 
   */
  boolean meets(Student terry, Semester sem) {
    return this.first.meets(terry, sem)
           || this.second.meets(terry, sem);
  } // meets(Student, sem)

  /**
   * Convert the prerequisite to a string for printing.
   */
  String toString() {
    
  } // toString()

  /**
   * Determine which parts of the prerequisite are not
   * met.
   */
  Prereq unmet(Student terry, Semester sem);

} // interface Prereq

