
package de.ivu.elect.business.stimmzettel.control;

import javax.annotation.Nullable;

import de.ivu.elect.business.datei.entity.FileType;
import de.ivu.elect.business.dokumente.control.ElectDokumentContext;
import de.ivu.elect.business.dokumente.entity.DokumentVorlage;
import de.ivu.elect.business.kandidatur.control.StimmzettelFormatterKandidaturFormatDarstellung;

public class StimmzettelExportContext extends ElectDokumentContext {

  private static final long serialVersionUID = 1L;

  private final DokumentVorlage dokumentVorlage;

  private Boolean dokumentVorlageResourcesIncluded;

  private StimmzettelFormatterKandidaturFormatDarstellung kandidaturFormatDarstellung;

  private FileType targetFileType;

  private boolean targetCreatedPerWurzelgebiet;

  public StimmzettelExportContext(ElectDokumentContext electDokumentContext) {
    this(electDokumentContext, null);
  }

  public StimmzettelExportContext(ElectDokumentContext electDokumentContext, @Nullable DokumentVorlage dokumentVorlage) {
    super(electDokumentContext);

    this.dokumentVorlage = dokumentVorlage;
    this.dokumentVorlageResourcesIncluded = false;

    this.kandidaturFormatDarstellung = null;

    this.targetFileType = null;
    this.targetCreatedPerWurzelgebiet = false;
  }

  public DokumentVorlage getDokumentVorlage() {
    return dokumentVorlage;
  }

  public Boolean getDokumentVorlageResourcesIncluded() {
    return Boolean.TRUE.equals(dokumentVorlageResourcesIncluded);
  }

  public void setDokumentVorlageResourcesIncluded(Boolean dokumentVorlageResourcesIncluded) {
    this.dokumentVorlageResourcesIncluded = dokumentVorlageResourcesIncluded;
  }

  public StimmzettelFormatterKandidaturFormatDarstellung getKandidaturFormatDarstellung() {
    return kandidaturFormatDarstellung;
  }

  public void setKandidaturFormatDarstellung(StimmzettelFormatterKandidaturFormatDarstellung kandidaturFormatDarstellung) {
    this.kandidaturFormatDarstellung = kandidaturFormatDarstellung;
  }

  public FileType getTargetFileType() {
    return targetFileType;
  }

  public void setTargetFileType(FileType targetFileType) {
    this.targetFileType = targetFileType;
  }

  public boolean isTargetCreatedPerWurzelgebiet() {
    return targetCreatedPerWurzelgebiet;
  }

  public void setTargetCreatedPerWurzelgebiet(boolean targetCreatedPerWurzelgebiet) {
    this.targetCreatedPerWurzelgebiet = targetCreatedPerWurzelgebiet;
  }
}
