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

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import de.ivu.elect.jee.faces.FacesMessageUtil;

public class RollePickListProperty extends AbstractRollePickListProperty {

  private final RolleTyp rolleTyp;

  private List<Rolle> zurgeordneteRollen;

  public RollePickListProperty(RolleMeta rolleMeta, Collection<Rolle> verfuegbareRollen, Collection<Rolle> initialZugeordnet, RolleTyp rolleTyp) {
    super(rolleMeta, verfuegbareRollen);
    this.rolleTyp = rolleTyp;
    zurgeordneteRollen = new ArrayList<>(initialZugeordnet);
  }

  @Override
  protected String getMetaMehrzahlMessage() {
    return getMessage(FacesMessageUtil.getEnumMessageKey(rolleTyp) + ".MEHRZAHL");
  }

  @Override
  protected Collection<Rolle> getZugeordneteRollen() {
    return zurgeordneteRollen;
  }

  @Override
  protected void replaceZugeordneteRollen(Collection<Rolle> rollen) {
    zurgeordneteRollen = new ArrayList<>(rollen);
  }

  public List<Rolle> getZurgeordneteRollen() {
    return zurgeordneteRollen;
  }
}
