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

import java.util.List;

import de.ivu.elect.business.personenregister.boundary.AbstractPersonenregisterSearchParameters;
import de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty;


import static java.util.Arrays.asList;

public class PersonenregisterEinwohnerstatusProperty extends AbstractEnumProperty<PersonenregisterEinwohnerstatus> {

  private final AbstractPersonenregisterSearchParameters searchParameters;

  public PersonenregisterEinwohnerstatusProperty(AbstractPersonenregisterSearchParameters searchParameters) {
    this.searchParameters = searchParameters;
  }

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

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

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

  @Override
  public PersonenregisterEinwohnerstatus getValue() {
    return searchParameters.getEinwohnerstatus();
  }

  @Override
  public void setValue(PersonenregisterEinwohnerstatus value) {
    searchParameters.setEinwohnerstatus(value);
  }

  @Override
  public String getDefaultLabel() {
    return getMessage(PersonenregisterPersonendatenConstants.MESSAGE_KEY_EINWOHNERSTATUS_EINZAHL);
  }
}
