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

import java.util.Date;

import javax.faces.convert.Converter;

import de.ivu.elect.business.person.boundary.SearchParametersMitPersonendaten;
import de.ivu.elect.jee.presentation.dynamicform.AbstractDateProperty;
import de.ivu.elect.jee.presentation.dynamicform.converter.AutoFormatDateTimeConverter;

public class GeburtsdatumProperty extends AbstractDateProperty {
  private final SearchParametersMitPersonendaten searchParametersMitPersonendatenNamen;

  public GeburtsdatumProperty(SearchParametersMitPersonendaten searchParametersMitPersonendatenNamen) {
    this.searchParametersMitPersonendatenNamen = searchParametersMitPersonendatenNamen;
  }

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

  @Override
  public Date getValue() {
    return searchParametersMitPersonendatenNamen.getGeburtsdatum();
  }

  @Override
  public void setValue(Date value) {
    searchParametersMitPersonendatenNamen.setGeburtsdatum(value);
  }

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

  @Override
  public Converter getDefaultConverter() {
    return new AutoFormatDateTimeConverter(true); // ELECTMUC-2429
  }

}
