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

import de.ivu.elect.business.stimmeingabe.control.plausi.AbstractStimmeingabeAnzahlComparedToAnzahlAnteilPlausiKonfigurationCustomData;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiKonfigurationPropertyContext;
import de.ivu.elect.jee.presentation.dynamicform.AbstractIntegerProperty;

public class AbstractStimmeingabeAnzahlComparedToAnzahlAnteilPlausiKonfigurationCustomDataAnteilProperty
    extends
    AbstractIntegerProperty {

  private final AbstractStimmeingabeAnzahlComparedToAnzahlAnteilPlausiKonfigurationCustomData customData;

  private final StimmeingabePlausiKonfigurationPropertyContext context;

  public AbstractStimmeingabeAnzahlComparedToAnzahlAnteilPlausiKonfigurationCustomDataAnteilProperty(
      AbstractStimmeingabeAnzahlComparedToAnzahlAnteilPlausiKonfigurationCustomData customData,
      StimmeingabePlausiKonfigurationPropertyContext context) {
    this.customData = customData;
    this.context = context;
  }

  @Override
  public String getDefaultLabel() {
    return getMessage("AbstractStimmeingabeAnzahlComparedToAnzahlAnteilPlausiKonfigurationCustomData.anteil");
  }

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

  @Override
  public Integer getValue() {
    return new Double(customData.getAnteil() * 100.0).intValue();
  }

  @Override
  public void setValue(Integer value) {
    customData.setAnteil(value / 100.0);
  }

  @Override
  public long getMinValue() {
    return 0L;
  }

  @Override
  public long getMaxValue() {
    return 100L;
  }
}
