package de.ivu.elect.interfaces.core;

import java.io.Serializable;

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

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

  private static final long serialVersionUID = 1L;

  @XmlElement(required = true)
  GebietReferenz gebiet;

  @XmlElement(required = true)
  GruppeReferenz gruppe;

  public GruppeImGebietReferenz() {
    super();
  }

  public GruppeImGebietReferenz(GebietReferenz gebietReferenz, GruppeReferenz gruppeReferenz) {
    this.gebiet = gebietReferenz;
    this.gruppe = gruppeReferenz;
  }

  public GebietReferenz getGebiet() {
    return gebiet;
  }

  public void setGebiet(GebietReferenz gebiet) {
    this.gebiet = gebiet;
  }

  public GruppeReferenz getGruppe() {
    return gruppe;
  }

  public void setGruppe(GruppeReferenz gruppe) {
    this.gruppe = gruppe;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    GruppeImGebietReferenz that = (GruppeImGebietReferenz) o;

    if (!gebiet.equals(that.gebiet)) return false;
    if (!gruppe.equals(that.gruppe)) return false;

    return true;
  }

  @Override
  public int hashCode() {
    int result = gebiet.hashCode();
    result = 31 * result + gruppe.hashCode();
    return result;
  }

  @Override
  public String toString() {
    return "GruppeImGebietReferenz{" +
        "gebiet=" + gebiet +
        ", gruppe=" + gruppe +
        '}';
  }
}
