package de.ivu.elect.interfaces.core;

import java.io.Serializable;
import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;

@XmlAccessorType(XmlAccessType.FIELD)
public class Veranstaltung implements Serializable {

  private static final long serialVersionUID = 1L;

  @XmlElement(required = true)
  private VeranstaltungReferenz veranstaltungReferenz;

  @XmlElement(required = true)
  private Date beginn;

  @XmlElement(required = true)
  private Date ende;

  @XmlElement(required = false)
  private String bemerkung;

  @XmlElement(required = true)
  private String bezeichnung;

  @XmlElement(required = false)
  private String externeId;

  @XmlElement(required = false)
  private SchulungArt schulungArt;

  @XmlElement(required = true)
  private VeranstaltungArt veranstaltungArt;

  @XmlElement(required = true)
  private VeranstaltungStatus veranstaltungStatus;

  @XmlElement(required = true)
  private Anschrift anschrift = new Anschrift();

  @XmlElement(required = true)
  private Person ansprechpartner = new Person();

  @XmlElement(required = false)
  private VeranstaltungReferenz verknuepfteVeranstaltungReferenz;

  @XmlElement(required = true)
  private GebietReferenz gebietReferenz;

  @XmlElement(required = true)
  private String customData;

  @XmlElement(required = false)
  private String raumBezeichnung;

  @XmlElement(required = false)
  private String veranstaltungOrt;

  public Veranstaltung() {
    super();
  }

  public VeranstaltungReferenz getVeranstaltungReferenz() {
    return veranstaltungReferenz;
  }

  public void setVeranstaltungReferenz(VeranstaltungReferenz veranstaltungReferenz) {
    this.veranstaltungReferenz = veranstaltungReferenz;
  }

  public Date getBeginn() {
    return beginn;
  }

  public void setBeginn(Date beginn) {
    this.beginn = beginn;
  }

  public Date getEnde() {
    return ende;
  }

  public void setEnde(Date ende) {
    this.ende = ende;
  }

  public String getBemerkung() {
    return bemerkung;
  }

  public void setBemerkung(String bemerkung) {
    this.bemerkung = bemerkung;
  }

  public String getBezeichnung() {
    return bezeichnung;
  }

  public void setBezeichnung(String bezeichnung) {
    this.bezeichnung = bezeichnung;
  }

  public String getExterneId() {
    return externeId;
  }

  public void setExterneId(String externeId) {
    this.externeId = externeId;
  }

  public SchulungArt getSchulungArt() {
    return schulungArt;
  }

  public void setSchulungArt(SchulungArt schulungArt) {
    this.schulungArt = schulungArt;
  }

  public VeranstaltungArt getVeranstaltungArt() {
    return veranstaltungArt;
  }

  public void setVeranstaltungArt(VeranstaltungArt veranstaltungArt) {
    this.veranstaltungArt = veranstaltungArt;
  }

  public VeranstaltungStatus getVeranstaltungStatus() {
    return veranstaltungStatus;
  }

  public void setVeranstaltungStatus(VeranstaltungStatus veranstaltungStatus) {
    this.veranstaltungStatus = veranstaltungStatus;
  }

  public Anschrift getAnschrift() {
    return anschrift;
  }

  public void setAnschrift(Anschrift anschrift) {
    this.anschrift = anschrift;
  }

  public Person getAnsprechpartner() {
    return ansprechpartner;
  }

  public void setAnsprechpartner(Person ansprechpartner) {
    this.ansprechpartner = ansprechpartner;
  }

  public VeranstaltungReferenz getVerknuepfteVeranstaltungReferenz() {
    return verknuepfteVeranstaltungReferenz;
  }

  public void setVerknuepfteVeranstaltungReferenz(VeranstaltungReferenz verknuepfteVeranstaltungReferenz) {
    this.verknuepfteVeranstaltungReferenz = verknuepfteVeranstaltungReferenz;
  }

  public GebietReferenz getGebietReferenz() {
    return gebietReferenz;
  }

  public void setGebietReferenz(GebietReferenz gebietReferenz) {
    this.gebietReferenz = gebietReferenz;
  }

  public String getCustomData() {
    return customData;
  }

  public void setCustomData(String customData) {
    this.customData = customData;
  }

  public String getRaumBezeichnung() {
    return raumBezeichnung;
  }

  public void setRaumBezeichnung(String raumBezeichnung) {
    this.raumBezeichnung = raumBezeichnung;
  }

  public String getVeranstaltungOrt() {
    return veranstaltungOrt;
  }

  public void setVeranstaltungOrt(String veranstaltungOrt) {
    this.veranstaltungOrt = veranstaltungOrt;
  }
}
