package de.ivu.elect.business.praesentation.entity;

/**
 * Erzeugte Präsentation über Servlet bereitstellen
 */
public enum PraesentationAutomatischenExportAnstossen {

  NACH_FREIGABE_GEBIET_UND_NACH_ZURUECKSETZEN_UND_ERFASSUNG_WAHLBETEILIGUNG {
    @Override
    public boolean isNachZuruecksetzenAnstossen() {
      return true;
    }

    @Override
    public boolean isNachFreigabeAnstossen() {
      return true;
    }

    @Override
    public boolean isNachWahlbeteiligungErfassen() {
      return true;
    }
  },
  NACH_FREIGABE_GEBIET_UND_NACH_ZURUECKSETZEN {
    @Override
    public boolean isNachZuruecksetzenAnstossen() {
      return true;
    }

    @Override
    public boolean isNachFreigabeAnstossen() {
      return true;
    }

    @Override
    public boolean isNachWahlbeteiligungErfassen() {
      return false;
    }
  },
  NACH_FREIGABE_GEBIET {
    @Override
    public boolean isNachZuruecksetzenAnstossen() {
      return false;
    }

    @Override
    public boolean isNachFreigabeAnstossen() {
      return true;
    }

    @Override
    public boolean isNachWahlbeteiligungErfassen() {
      return false;
    }
  },
  NACH_ZURUECKSETZEN {
    @Override
    public boolean isNachZuruecksetzenAnstossen() {
      return true;
    }

    @Override
    public boolean isNachFreigabeAnstossen() {
      return false;
    }

    @Override
    public boolean isNachWahlbeteiligungErfassen() {
      return false;
    }
  },
  DEAKTIVIERT {
    @Override
    public boolean isNachZuruecksetzenAnstossen() {
      return false;
    }

    @Override
    public boolean isNachFreigabeAnstossen() {
      return false;
    }

    @Override
    public boolean isNachWahlbeteiligungErfassen() {
      return false;
    }
  };

  public abstract boolean isNachZuruecksetzenAnstossen();

  public abstract boolean isNachFreigabeAnstossen();

  public abstract boolean isNachWahlbeteiligungErfassen();
}
