
package de.ivu.elect.core.exchange.stimmen.csv;

import java.util.List;

import org.jsefa.csv.annotation.CsvDataType;
import org.jsefa.csv.annotation.CsvField;

import de.ivu.jsefa.CsvAttachedList;
import de.ivu.jsefa.CsvHeader;

@CsvDataType
public class EineStimmenCsvDTO extends AbstractStimmenCsvDTO {

  public static final int EINE_STIMMEN_ERSTE_POSITION = LETZTE_POSITION + 1;

  @CsvField(pos = EINE_STIMMEN_ERSTE_POSITION)
  @CsvHeader("Gültige Stimmen")
  private Long anzahlStimmenGueltig;

  @CsvField(pos = EINE_STIMMEN_ERSTE_POSITION+1)
  @CsvHeader("Ungültige Stimmen")
  private Long anzahlStimmenUngueltig;

  @CsvAttachedList(clazz = EineGruppeStimmenDTO.class)
  private List<EineGruppeStimmenDTO> gruppenStimmen;

  @Override
  public Class<?> getSubDTOClass() {
    return EineGruppeStimmenDTO.class;
  }

  @Override
  public int getAnzahlSubDTO() {
    if (gruppenStimmen==null){
      return 0;
    }

    return gruppenStimmen.size();
  }

  public Long getAnzahlStimmenGueltig() {
    return anzahlStimmenGueltig;
  }

  public void setAnzahlStimmenGueltig(Long anzahlStimmenGueltig) {
    this.anzahlStimmenGueltig = anzahlStimmenGueltig;
  }

  public Long getAnzahlStimmenUngueltig() {
    return anzahlStimmenUngueltig;
  }

  public void setAnzahlStimmenUngueltig(Long anzahlStimmenUngueltig) {
    this.anzahlStimmenUngueltig = anzahlStimmenUngueltig;
  }

  public List<EineGruppeStimmenDTO> getPolitischeGruppenStimmen() {
    return gruppenStimmen;
  }

  public void setPolitischeGruppenStimmen(List<EineGruppeStimmenDTO> gruppenStimmen) {
    this.gruppenStimmen = gruppenStimmen;
  }
}
