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

import java.util.List;

import javax.faces.convert.Converter;

import de.ivu.elect.business.gebietsbaum.entity.Gebietsart;
import de.ivu.elect.business.gebietsbaum.entity.GebietsartConstants;
import de.ivu.elect.jee.faces.EntityConverter;
import de.ivu.elect.jee.presentation.dynamicform.AbstractPickListProperty;

/**
 *  on 29.06.2015.
 */
public class GebietsartPickListProperty extends AbstractPickListProperty<Gebietsart> {

  private final List<Gebietsart> verfuegbareGebietsarten;

  private List<Gebietsart> zugeordneteGebietsarten;

  public GebietsartPickListProperty(List<Gebietsart> verfuegbareGebietsarten, List<Gebietsart> zugeordneteGebietsarten) {
    super();

    this.verfuegbareGebietsarten = verfuegbareGebietsarten;
    this.zugeordneteGebietsarten = zugeordneteGebietsarten;
  }

  @Override
  public Converter getDefaultConverter() {
    return EntityConverter.getInstance();
  }

  @Override
  public List<Gebietsart> getZugeordneteElemente() {
    return zugeordneteGebietsarten;
  }

  @Override
  protected List<Gebietsart> getVerfuegbareElemente() {
    return verfuegbareGebietsarten;
  }

  @Override
  protected void setzeZugeordneteElemente(List<Gebietsart> list) {
    this.zugeordneteGebietsarten = list;
  }

  @Override
  protected String getSourceCaptionMessageKey() {
    return "wahlart.gebietsart.verfuegbare";
  }

  @Override
  protected String getTargetCaptionMessageKey() {
    return "wahlart.gebietsart.zugeordnete";
  }

  @Override
  public String getItemLabel(Gebietsart gebietsart) {
    return gebietsart.getTitelWennLeerName();
  }

  @Override
  public String getDefaultLabel() {
    return getMessage(GebietsartConstants.MESSAGE_KEY_ENTITY_MEHRZAHL);
  }

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