
package de.ivu.elect.exchange.lokalisierung.csv;

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

import de.ivu.elect.business.lokalisierung.entity.Lokalisierung;
import de.ivu.elect.business.lokalisierung.entity.LokalisierungLocale;
import de.ivu.jsefa.CsvHeader;

@CsvDataType
public class LokalisierungDTO {

  @CsvField(pos = 1)
  @CsvHeader("Sprache")
  private String sprache;

  @CsvField(pos = 2)
  @CsvHeader("Schluessel")
  private String schluessel;

  @CsvField(pos = 3)
  @CsvHeader("Wert")
  private String wert;

  public LokalisierungDTO() {
    super();
  }

  public LokalisierungDTO(Lokalisierung lokalisierung) {
    super();

    this.sprache = lokalisierung.getLocale().name();
    this.schluessel = lokalisierung.getSchluessel();
    this.wert = lokalisierung.getWertGeaendert();
  }

  public String getSchluessel() {
    return schluessel;
  }

  public void setSchluessel(String schluessel) {
    this.schluessel = schluessel;
  }

  public String getSprache() {
    return sprache;
  }

  public void setSprache(String sprache) {
    this.sprache = sprache;
  }

  public String getWert() {
    return wert;
  }

  public void setWert(String wert) {
    this.wert = wert;
  }

  public Lokalisierung getLokalisierung() {
    Lokalisierung result = new Lokalisierung();
    result.setLocale(LokalisierungLocale.valueOf(getSprache()));
    result.setSchluessel(getSchluessel());
    result.setWertGeaendert(getWert());

    return result;
  }
}
