package labs.applications;

import java.util.List;
import java.awt.geom.Point2D;

public class Applications {

  ////////////////////////////////////////////////////////////////////////
  // 1. Duplicate Tracker
  public static class DuplicateTracker {

    // TODO: Add instance variables here

    public DuplicateTracker() {
      // TODO
    }

    public void addID(int id) {
      // TODO
    }

    public List<Integer> getDuplicates() {
      // TODO
      return null;
    }
  }

  ////////////////////////////////////////////////////////////////////////
  // 2. Job Sequencer
  public static class JobSequencer {

    // TODO: Add instance variables here

    public JobSequencer() {
      // TODO
    }

    public void addJob(String jobType, int jobID) {
      // TODO
    }

    public int nextJob(String jobType) {
      // TODO
      return -1;
    }
  }

  ////////////////////////////////////////////////////////////////////////
  // 3. Event Sequencer
  public static class EventSequencer {

    // TODO: Add instance variables here

    public EventSequencer() {
      // TODO
    }

    public void addEvent(int timeStamp, String event) {
      // TODO
    }

    public String nextEvent() {
      // TODO
      return null;
    }
  }

  ////////////////////////////////////////////////////////////////////////
  // 4. Triage
  public static class TriageTracker {

    // TODO: Add instance variables here

    public TriageTracker() {
      // TODO
    }

    public void addPatient(String id, int priority) {
      // TODO
    }

    public String nextPatient() {
      // TODO
      return null;
    }

    public void removePatient(String id) {
      // TODO
    }
  }

  ////////////////////////////////////////////////////////////////////////
  // 5. Neighbors
  public static class NeighborCounter {

    // TODO: Add instance variables here

    public NeighborCounter() {
      // TODO
    }

    public void addPoint(double x, double y) {
      // You don't need to use this code if you don't want to. It is
      // just provided as an example of creating a 2d point object.
      Point2D.Double point = new Point2D.Double(x, y);

      // TODO
    }

    public int numNeighbors(double x, double y, double radius) {
      // TODO
      return 0;
    }
  }
}
