package org.kultpower.entities;

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.time.LocalDate;
import java.time.Year;

/**
 * Created by sebastian on 28.01.16.
 */
@Entity
@Table(name = "ausgabe")
public class Ausgabe
//		implements Comparable<Ausgabe>
{


	@Id @GeneratedValue(generator="system-uuid")
	@GenericGenerator(name="system-uuid",
			strategy = "uuid")
	@Column(name = "id", updatable = false, nullable = false)
	private String id = null;

	@Column
	private LocalDate erscheinungsdatum;

	@Column
	private Integer jahr;

	@Column
	private Number nummmer;

	@Column
	private String name;

	@Column
	private String coverfile;

	@ManyToOne
	@JoinColumn(name = "zeitschrift")
	private Zeitschrift zeitschrift;

	public Zeitschrift getZeitschrift() {
		return zeitschrift;
	}

	public void setZeitschrift(Zeitschrift zeitschrift) {
		this.zeitschrift = zeitschrift;
	}

	public LocalDate getErscheinungsdatum() {
		return erscheinungsdatum;
	}

	public void setErscheinungsdatum(LocalDate erscheinungsdatum) {
		this.erscheinungsdatum = erscheinungsdatum;
	}


	public Integer getJahr() {
		return jahr;
	}

	public void setJahr(Integer jahr) {
		this.jahr = jahr;
	}

	public Number getNummmer() {
		return nummmer;
	}

	public void setNummmer(Number nummmer) {
		this.nummmer = nummmer;
	}

	public String getCoverfile() {
		return coverfile;
	}

	public void setCoverfile(String coverFile) {
		this.coverfile = coverFile;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

//	public String getShortname() {
//		return shortname;
//	}
//
//	public void setShortname(String shortname) {
//		this.shortname = shortname;
//	}
//
//
//	@Override
//	public int compareTo(Ausgabe o) {
//		return this.shortname.compareTo(o.getShortname());
//	}
//
//	@Override
//	public boolean equals(Object a) {
//		if (!(a instanceof Ausgabe)) {
//			return false;
//		}
//		return this.shortname.equals(((Ausgabe) a).getShortname());
//	}

	@Override
	public String toString() {
		return new ReflectionToStringBuilder(this).setExcludeFieldNames("zeitschrift").toString();
		//return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}
}

@@ -768,30 +768,67 @@
 private 
-Numb
+Integ
 er numm
-m
 er
+;%0A%0A%09@Column%0A%09private String shortname
 ;%0A%0A%09@Col
@@ -1434,132 +1434,8 @@
 %09%7D%0A%0A
-%09public Number getNummmer() %7B%0A%09%09return nummmer;%0A%09%7D%0A%0A%09public void setNummmer(Number nummmer) %7B%0A%09%09this.nummmer = nummmer;%0A%09%7D%0A%0A
 %09pub
@@ -1672,18 +1672,16 @@
 me;%0A%09%7D%0A%0A
-//
 %09public 
@@ -1700,26 +1700,24 @@
 ortname() %7B%0A
-//
 %09%09return sho
@@ -1724,26 +1724,20 @@
 rtname;%0A
-//
 %09%7D%0A
-//%0A//
+%0A
 %09public 
@@ -1774,18 +1774,16 @@
 name) %7B%0A
-//
 %09%09this.s
@@ -1808,42 +1808,20 @@
 me;%0A
-//
 %09%7D%0A
-//%0A//%0A//%09@Override%0A//
+%0A
 %09public 
 int 
@@ -1820,37 +1820,30 @@
 lic 
-int compareTo(Ausgabe o
+Integer getNummer(
 ) %7B%0A
-//
 %09%09re
@@ -1851,236 +1851,85 @@
 urn 
-this.shortname.compareTo(o.getShortname());%0A//%09%7D%0A//%0A//%09@Override%0A//%09public boolean equals(Object a) %7B%0A//%09%09if (!(a instanceof Ausgabe)) %7B%0A//%09%09%09return false;%0A//%09%09%7D%0A//%09%09return this.shortname.equals(((Ausgabe) a).getShortname());%0A//
+nummer;%0A%09%7D%0A%0A%09public void setNummer(Integer nummer) %7B%0A%09%09this.nummer = nummer;%0A
 %09%7D%0A%0A

fix "nummer"