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

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

import de.ivu.elect.business.wertelisten.boundary.WertelistenExtendedDAO;
import de.ivu.elect.business.wertelisten.entity.Wertelisten;
import de.ivu.elect.business.wertelisten.entity.WertelistenPK;
import de.ivu.elect.business.wertelisten.entity.WertelistenUK;
import de.ivu.elect.jee.entity.DAO;
import de.ivu.elect.jee.faces.AbstractEntityUniqueUKFacesValidator;

/**
 * Verwendung nicht als Vorlage nutzen, wird nicht als FacesValidator eingesetzt
 */
@RequestScoped
public class WertelistenUniqueUKFacesValidator
    extends
      AbstractEntityUniqueUKFacesValidator<Wertelisten, WertelistenPK, WertelistenUK> {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient WertelistenExtendedDAO dao;

  @Override
  protected WertelistenUK createUK(Object value) {
    Wertelisten werteliste = (Wertelisten) value;
    return new WertelistenUK(werteliste.getName(), werteliste.getWertelistenArt(), werteliste.getWahl().getWahlUK());
  }

  @Override
  protected DAO<Wertelisten, WertelistenPK, WertelistenUK> getDao() {
    return dao;
  }

}
