package de.ivu.elect.business.wahlvorschlag.control;

public class WahlvorschlagUnterstuetzerDatenNichtEindeutigException extends RuntimeException {
  public enum Typ {
    WAHL {
      @Override
      public String getMessageKey() {
        return "wahlvorschlag.unterstuetzer.import.wahl.nicht.eindeutig";
      }
    },
    GRUPPE {
      public String getMessageKey() {
        return "wahlvorschlag.unterstuetzer.import.gruppe.nicht.eindeutig";
      }
    },
    WAHLVORSCHLAG {
      public String getMessageKey() {
        return "wahlvorschlag.unterstuetzer.import.wahlvorschlag.nicht.eindeutig";
      }
    };

    public abstract String getMessageKey();
  }

  private Typ typ;
  private Object[] parameters;

  public WahlvorschlagUnterstuetzerDatenNichtEindeutigException(Typ typ, Object... parameters) {
    this.typ = typ;
    this.parameters = parameters;
  }

  public String getMessageKey() {
    return this.typ.getMessageKey();
  }

  public Object[] getParameters() {
    return parameters;
  }
}
