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

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

public enum Wahlausschussrolle implements EntschaedigungsartKriteriumEinsatzfunktion {

  // (!) weitere Werte (!)
  // - Entschaedigungssaetze per SQL-Update ergänzen, siehe v071_nach_072
  // - auch in WahlausschussmitgliedDokument ergänzen
  // - WahlausschussrolleByWichtigkeitComparator anpassen?

  VORSITZENDER {

    @Override
    public boolean isVorsitzender() {
      return true;
    }
  },
  VORSITZENDER_STELLVERTRETEND {

    @Override
    public boolean isVorsitzenderStellvertretend() {
      return true;
    }
  },
  SCHRIFTFUEHRER {

    @Override
    public boolean isSchriftfueher() {
      return true;
    }
  },
  SCHRIFTFUEHRER_STELLVERTRETEND {

    @Override
    public boolean isSchriftfueherStellvertretend() {
      return true;
    }
  },
  BEISITZER {

    @Override
    public boolean isBeisitzer() {
      return true;
    }
  },
  BEISITZER_STELLVERTRETEND {
    @Override
    public boolean isBeisitzerStellvertretend() {
      return true;
    }
  },
  HILFSKRAFT {

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

  private Wahlausschussrolle() {
  }

  public boolean isVorsitzender() {
    return false;
  }

  public boolean isVorsitzenderStellvertretend() {
    return false;
  }

  public boolean isSchriftfueher() {
    return false;
  }

  public boolean isSchriftfueherStellvertretend() {
    return false;
  }

  public boolean isBeisitzer() {
    return false;
  }

  public boolean isBeisitzerStellvertretend() {
    return false;
  }

  public boolean isHilfskraft() {
    return false;
  }

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