
package de.ivu.elect.presentation.personenregister;

import javax.inject.Inject;

import de.ivu.elect.business.gebietsbaum.boundary.GebietSessionSelect;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.presentation.gebietsbaum.GebietNummerFormatter;
import de.ivu.elect.presentation.personenregister.form.AbstractPersonenregisterPropertiesViewFormBuilder;

public abstract class AbstractPersonenregisterPersonendatenSelectionViewCreateViewHelper<E extends Personendaten> extends AbstractEntityMitPersonendatenSelectionViewCreateViewHelper<E> {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient GebietSessionSelect gebietSelect;

  @Inject
  private transient GebietNummerFormatter gebietNummerFormatter;

  public AbstractPersonenregisterPersonendatenSelectionViewCreateViewHelper() {
    super();
  }

  public boolean isGebietSelected() {
    return gebietSelect.isSelected();
  }

  public Gebiet getSelectedGebiet() {
    return gebietSelect.getEntity();
  }

  public String getSelectedGebietNameFormatted() {
    return gebietNummerFormatter.getNameMitNummer(getSelectedGebiet());
  }

  @Override
  protected abstract AbstractPersonenregisterPropertiesViewFormBuilder getViewFormBuilder();
}
