package de.ivu.elect.presentation.gruppe.form;

import java.util.List;

import de.ivu.elect.business.gruppe.boundary.GruppeNachErfassungsgebietStimmenSearchParameters;
import de.ivu.elect.business.gruppe.entity.SvgAnzahlEinteilung;
import de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty;


import static java.util.Arrays.asList;

public class SvgAnzahlEinteilungProperty extends AbstractEnumProperty<SvgAnzahlEinteilung> {

  private final GruppeNachErfassungsgebietStimmenSearchParameters searchParameters;

  public SvgAnzahlEinteilungProperty(GruppeNachErfassungsgebietStimmenSearchParameters searchParameters) {
    super();

    this.searchParameters = searchParameters;
  }

  @Override
  public SvgAnzahlEinteilung getValue() {
    return searchParameters.getSvgAnzahlEinteilung();
  }

  @Override
  public void setValue(SvgAnzahlEinteilung value) {
    searchParameters.setSvgAnzahlEinteilung(value);
  }

  @Override
  public List<SvgAnzahlEinteilung> getValues() {
    return asList(SvgAnzahlEinteilung.values());
  }

  @Override
  public String getDefaultLabel() {
    return getMessage("gruppe.nach.gebiet.svg.anzahl.einteilung");
  }

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

  @Override
  protected Class<SvgAnzahlEinteilung> getEnumClass() {
    return SvgAnzahlEinteilung.class;
  }
}
