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

import de.ivu.elect.business.entschaedigung.entity.EntschaedigungsartKriteriumPersonendatenArt;

public enum WasPersonendatenArt implements PersonendatenArt, EntschaedigungsartKriteriumPersonendatenArt {

  KANDIDATUR(CorePersonendatenArt.KANDIDATUR),
  DIREKTKANDIDATUR(CorePersonendatenArt.DIREKTKANDIDATUR),
  LISTENKANDIDATUR(CorePersonendatenArt.LISTENKANDIDATUR),
  ERSATZKANDIDATUR(CorePersonendatenArt.ERSATZKANDIDATUR),

  WAHLAUSSCHUSSMITGLIED(CorePersonendatenArt.WAHLAUSSCHUSSMITGLIED),

  WAHLVORSCHLAGS_PERSON(CorePersonendatenArt.WAHLVORSCHLAGS_PERSON);

  private final String technicalName;

  private final boolean discriminator;

  private WasPersonendatenArt(CorePersonendatenArt corePersonendatenArt) {
    this(corePersonendatenArt.getTechnicalName(), corePersonendatenArt.isTechnicalNameDiscriminator());
  }

  private WasPersonendatenArt(String technicalName, boolean discriminator) {
    this.technicalName = technicalName;
    this.discriminator = discriminator;
  }

  @Override
  public String getTechnicalName() {
    return technicalName;
  }

  @Override
  public boolean isTechnicalNameDiscriminator() {
    return discriminator;
  }
}
