Mercurial > hg > LGDataverses
diff src/main/java/edu/harvard/iq/dataverse/DataverseLinkingDataverse.java @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Tue, 08 Sep 2015 17:00:21 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/edu/harvard/iq/dataverse/DataverseLinkingDataverse.java Tue Sep 08 17:00:21 2015 +0200 @@ -0,0 +1,104 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package edu.harvard.iq.dataverse; + +import java.io.Serializable; +import java.util.Date; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Index; +import javax.persistence.JoinColumn; +import javax.persistence.OneToOne; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +/** + * + * @author skraffmiller + */ +@Entity +@Table(indexes = { + @Index(columnList = "dataverse_id"), + @Index(columnList = "linkingDataverse_id") +}) +public class DataverseLinkingDataverse implements Serializable { + private static final long serialVersionUID = 1L; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @OneToOne + @JoinColumn(nullable = false) + private Dataverse dataverse; + + @OneToOne + @JoinColumn(nullable = false) + private Dataverse linkingDataverse; + + @Temporal(value = TemporalType.TIMESTAMP) + private Date linkCreateTime; + + public Long getId() { + return id; + } + + public Dataverse getDataverse() { + return dataverse; + } + + public void setDataverse(Dataverse dataverse) { + this.dataverse = dataverse; + } + + public Dataverse getLinkingDataverse() { + return linkingDataverse; + } + + public void setLinkingDataverse(Dataverse linkingDataverse) { + this.linkingDataverse = linkingDataverse; + } + + public Date getLinkCreateTime() { + return linkCreateTime; + } + + public void setLinkCreateTime(Date linkCreateTime) { + this.linkCreateTime = linkCreateTime; + } + + public void setId(Long id) { + this.id = id; + } + + @Override + public int hashCode() { + int hash = 0; + hash += (id != null ? id.hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) { + // TODO: Warning - this method won't work in the case the id fields are not set + if (!(object instanceof DataverseLinkingDataverse)) { + return false; + } + DataverseLinkingDataverse other = (DataverseLinkingDataverse) object; + if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { + return false; + } + return true; + } + + @Override + public String toString() { + return "edu.harvard.iq.dataverse.DataverseLinkedDataverse[ id=" + id + " ]"; + } + +}
