
package de.ivu.elect.exchange.anschrift;

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

import de.ivu.elect.business.anschrift.entity.Anschrift;
import de.ivu.elect.exchange.AlleDatenDTO;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.jsefa.CsvHeader;

@CsvDataType
public class AnschriftAlleDatenDTO extends AlleDatenDTO {

  private static final long serialVersionUID = 1L;

  @CsvField(pos = 1)
  @CsvHeader("AnschriftArt")
  private String anschriftArt;

  @CsvField(pos = 2)
  @CsvHeader("Strasse")
  private String strasse;

  @CsvField(pos = 3)
  @CsvHeader("Hausnummer")
  private String hausnummer;

  @CsvField(pos = 4)
  @CsvHeader("Hausnummerzusatz")
  private String hausnummerzusatz;

  @CsvField(pos = 5)
  @CsvHeader("Wohnungsnummer")
  private String wohnungsnummer;

  @CsvField(pos = 6)
  @CsvHeader("Zustellanweisung")
  private String zustellanweisung;

  @CsvField(pos = 7)
  @CsvHeader("PLZ")
  private String plz;

  @CsvField(pos = 8)
  @CsvHeader("Ort")
  private String ort;

  // TODO ELECT-8509
  //  @CsvField(pos = ?)
  //  @CsvHeader("Ortsteil")
  private String ortsteil;

  @CsvField(pos = 9)
  @CsvHeader("Postfach")
  private String postfach;

  @CsvField(pos = 10)
  @CsvHeader("Bundesland")
  private String bundesland;

  @CsvField(pos = 11)
  @CsvHeader("Staat")
  private String staat;

  public AnschriftAlleDatenDTO() {
    super();
  }

  public AnschriftAlleDatenDTO(Anschrift anschrift, Messages messages) {
    super();

    this.anschriftArt = messages.lokalisiere(anschrift.getAnschriftArt());
    this.strasse = anschrift.getStrasse();
    this.hausnummer = anschrift.getHausnummer();
    this.hausnummerzusatz = anschrift.getHausnummerzusatz();
    this.wohnungsnummer = anschrift.getWohnungsnummer();
    this.zustellanweisung = anschrift.getZustellanweisung();
    this.plz = anschrift.getPlz();
    this.ort = anschrift.getOrt();
    this.ortsteil = anschrift.getOrtsteil();
    this.postfach = anschrift.getPostfach();
    this.bundesland = anschrift.getBundesland();
    this.staat = anschrift.getStaat();
  }

  public String getAnschriftArt() {
    return anschriftArt;
  }

  public void setAnschriftArt(String anschriftArt) {
    this.anschriftArt = anschriftArt;
  }

  public String getStrasse() {
    return strasse;
  }

  public void setStrasse(String strasse) {
    this.strasse = strasse;
  }

  public String getHausnummer() {
    return hausnummer;
  }

  public void setHausnummer(String hausnummer) {
    this.hausnummer = hausnummer;
  }

  public String getHausnummerzusatz() {
    return hausnummerzusatz;
  }

  public void setHausnummerzusatz(String hausnummerzusatz) {
    this.hausnummerzusatz = hausnummerzusatz;
  }

  public String getWohnungsnummer() {
    return wohnungsnummer;
  }

  public void setWohnungsnummer(String wohnungsnummer) {
    this.wohnungsnummer = wohnungsnummer;
  }

  public String getZustellanweisung() {
    return zustellanweisung;
  }

  public void setZustellanweisung(String zustellanweisung) {
    this.zustellanweisung = zustellanweisung;
  }

  public String getPlz() {
    return plz;
  }

  public void setPlz(String plz) {
    this.plz = plz;
  }

  public String getOrt() {
    return ort;
  }

  public void setOrt(String ort) {
    this.ort = ort;
  }

  public String getOrtsteil() {
    return ortsteil;
  }

  public void setOrtsteil(String ortsteil) {
    this.ortsteil = ortsteil;
  }

  public String getPostfach() {
    return postfach;
  }

  public void setPostfach(String postfach) {
    this.postfach = postfach;
  }

  public String getBundesland() {
    return bundesland;
  }

  public void setBundesland(String bundesland) {
    this.bundesland = bundesland;
  }

  public String getStaat() {
    return staat;
  }

  public void setStaat(String staat) {
    this.staat = staat;
  }
}
