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.SvgArtEinteilung;
import de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty;


import static java.util.Arrays.asList;

public class SvgArtEinteilungProperty extends AbstractEnumProperty<SvgArtEinteilung> {

  private final GruppeNachErfassungsgebietStimmenSearchParameters searchParameters;

  public SvgArtEinteilungProperty(GruppeNachErfassungsgebietStimmenSearchParameters searchParameters) {
    super();

    this.searchParameters = searchParameters;
  }

  @Override
  public SvgArtEinteilung getValue() {
    return searchParameters.getSvgArtEinteilung();
  }

  @Override
  public void setValue(SvgArtEinteilung value) {
    searchParameters.setSvgArtEinteilung(value);
  }

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

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

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

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