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

import de.ivu.elect.business.wahl.entity.WahlartErgebnisart;

public enum StimmeingabePlausiErgebniseingangsart implements WahlartErgebnisart {

  UNBEKANNT,

  VORLAEUFIG,
  ENDGUELTIG;

  private StimmeingabePlausiErgebniseingangsart() {
  }

  public boolean isUnbekannt() {
    return UNBEKANNT.equals(this);
  }

  public static StimmeingabePlausiErgebniseingangsart of(WahlartErgebnisart ergebnisart) {
    if (ergebnisart != null) {
      if (ergebnisart.isVorlaeufig()) {
        return VORLAEUFIG;
      }

      if (ergebnisart.isEndgueltig()) {
        return ENDGUELTIG;
      }
    }

    return UNBEKANNT;
  }

  @Override
  public boolean isVorlaeufig() {
    return VORLAEUFIG.equals(this);
  }

  @Override
  public boolean isEndgueltig() {
    return ENDGUELTIG.equals(this);
  }
}
