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

import de.ivu.elect.business.wahlvorschlag.entity.Wahlvorschlag;
import de.ivu.elect.jee.presentation.dynamicform.AbstractLongProperty;

public class WahlvorschlagStimmzettelPositionVorgegebenProperty extends AbstractLongProperty {

  private final GruppeImGebiet gruppeImGebiet;

  public WahlvorschlagStimmzettelPositionVorgegebenProperty(Wahlvorschlag wahlvorschlag) {
    super();

    this.gruppeImGebiet = wahlvorschlag.getGruppeImGebiet();
  }

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

  @Override
  public Long getValue() {
    return gruppeImGebiet.getVorgegebenePosition();
  }

  @Override
  public void setValue(Long value) {
    gruppeImGebiet.setVorgegebenePosition(value);

    // ELECT-8902
    if (value != null) {
      gruppeImGebiet.setRelativePosition(value);
    }
  }

  @Override
  public String getDefaultLabel() {
    return getMessage("wahlvorschlag.edit.gruppe.im.gebiet.position.label");
  }

  @Override
  public String getDefaultTooltip() {
    return getMessage("wahlvorschlag.edit.gruppe.im.gebiet.position.tooltip");
  }
}
