package de.ivu.elect.business.stimmeingabe.boundary;

import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;

import javax.enterprise.event.Event;
import javax.inject.Inject;

import de.ivu.elect.business.gebietsbaum.entity.GebietPK;
import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingangsart;

public class StimmeingabeErfassungLoeschenExportEvent implements Serializable {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient Event<StimmeingabeErfassungLoeschenExportEvent> event;

  private final Collection<GebietPK> gebiete;

  private final String kennung;

  private final Ergebniseingangsart ergebniseingangsart;

  public void sendEvent(Collection<GebietPK> gebiete, String kennung, Ergebniseingangsart ergebniseingangsart) {
    event.fire(new StimmeingabeErfassungLoeschenExportEvent(gebiete, kennung, ergebniseingangsart));
  }

  public StimmeingabeErfassungLoeschenExportEvent() {
    this(Collections.emptyList(), "", Ergebniseingangsart.VORLAEUFIG);
  }

  private StimmeingabeErfassungLoeschenExportEvent(Collection<GebietPK> gebiete, String kennung, Ergebniseingangsart ergebniseingangsart) {
    this.gebiete = gebiete;
    this.kennung = kennung;
    this.ergebniseingangsart = ergebniseingangsart;
  }

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

  public String getKennung() {
    return kennung;
  }

  public Ergebniseingangsart getErgebniseingangsart() {
    return ergebniseingangsart;
  }
}
