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

import java.util.EnumSet;

public enum EintragungslisteEintragGueltigkeit {
  UNBEKANNT,
  LEERZEILE,
  GUELTIG,
  UNGUELTIG_PERSONENDATEN_NICHT_VOLLSTAENDIG,
  UNGUELTIG_PERSONENDATEN_NICHT_AUSWERTBAR,
  UNGUELTIG_PERSONENDATEN_MANUELL_ZU_PRUEFEN;

  private EintragungslisteEintragGueltigkeit() {
  }

  public boolean isErfasst() {
    return this.isGueltigErfasst() || this.isUngueltigErfasst();
  }

  public boolean isGueltigErfasst() {
    return valuesGueltigErfasst().contains(this);
  }

  public boolean isUngueltigErfasst() {
    return valuesUngueltigErfasst().contains(this);
  }

  public static EnumSet<EintragungslisteEintragGueltigkeit> valuesNichtErfasst() {
    return EnumSet.of(UNBEKANNT, LEERZEILE);
  }

  public static EnumSet<EintragungslisteEintragGueltigkeit> valuesErfasst() {
    return EnumSet.complementOf(valuesNichtErfasst());
  }

  public static EnumSet<EintragungslisteEintragGueltigkeit> valuesGueltigErfasst() {
    return EnumSet.of(GUELTIG);
  }

  public static EnumSet<EintragungslisteEintragGueltigkeit> valuesUngueltigErfasst() {
    return EnumSet.of(UNGUELTIG_PERSONENDATEN_MANUELL_ZU_PRUEFEN, UNGUELTIG_PERSONENDATEN_NICHT_AUSWERTBAR);
  }
}
