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

import java.util.Collection;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.gruppe.entity.Gruppe;
import de.ivu.elect.business.kandidatur.entity.Kandidatur;
import de.ivu.elect.business.wahlvorschlag.entity.Wahlvorschlag;

public class SitzberechnungsalgorithmusOptionContext<T> {

  private final Enum< ? > losentscheidTyp;

  private final Collection<Gebiet> gebiete;

  private final Collection<Gruppe> gruppen;

  private final Collection<Wahlvorschlag> wahlvorschlaege;

  private final Collection<Kandidatur> kandidaturen;

  private final Collection<T> verfuegbareOptionen;

  public SitzberechnungsalgorithmusOptionContext(Enum< ? > losentscheidTyp, Collection<Gebiet> gebiete, Collection<Gruppe> gruppen, Collection<Wahlvorschlag> wahlvorschlaege,
      Collection<Kandidatur> kandidaturen, Collection<T> verfuegbareOptionen) {
    super();

    this.losentscheidTyp = losentscheidTyp;

    this.gebiete = gebiete;
    this.gruppen = gruppen;
    this.wahlvorschlaege = wahlvorschlaege;
    this.kandidaturen = kandidaturen;

    this.verfuegbareOptionen = verfuegbareOptionen;
  }

  public Enum< ? > getLosentscheidTyp() {
    return losentscheidTyp;
  }

  public Collection<Gebiet> getGebiete() {
    return gebiete;
  }

  public Collection<Gruppe> getGruppen() {
    return gruppen;
  }

  public Collection<Wahlvorschlag> getWahlvorschlaege() {
    return wahlvorschlaege;
  }

  public Collection<Kandidatur> getKandidaturen() {
    return kandidaturen;
  }

  public Collection<T> getVerfuegbareOptionen() {
    return verfuegbareOptionen;
  }
}
