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

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;

import de.ivu.elect.business.gebietsbaum.boundary.GebietSessionSelect;
import de.ivu.elect.business.stimmzettel.boundary.StimmzettelExtendedDAO;
import de.ivu.elect.business.stimmzettel.entity.Stimmzettel;
import de.ivu.elect.business.stimmzettel.entity.StimmzettelPK;
import de.ivu.elect.business.stimmzettel.entity.StimmzettelUK;
import de.ivu.elect.jee.entity.DAO;
import de.ivu.elect.jee.faces.AbstractEntityUniqueUKFacesValidator;

@RequestScoped
public class StimmzettelUniqueUKFacesValidator extends AbstractEntityUniqueUKFacesValidator<Stimmzettel, StimmzettelPK, StimmzettelUK> {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient StimmzettelExtendedDAO extendedDAO;

  @Inject
  private transient GebietSessionSelect gebietSessionSelect;

  public StimmzettelUniqueUKFacesValidator() {
    super();
  }

  @Override
  protected StimmzettelUK createUK(Object value) {
    return new StimmzettelUK((String) value, gebietSessionSelect.getEntity().getUk());
  }

  @Override
  protected DAO<Stimmzettel, StimmzettelPK, StimmzettelUK> getDao() {
    return extendedDAO;
  }
}
