/*
* 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 javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Index;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
*
* @author Leonid Andreev
*/
@NamedQueries({
@NamedQuery( name="ForeignMetadataFormatMapping.listAll", query = "SELECT fmfm FROM ForeignMetadataFormatMapping fmfm"),
@NamedQuery( name="ForeignMetadataFormatMapping.findByName", query = "SELECT fmfm FROM ForeignMetadataFormatMapping fmfm WHERE fmfm.name=:name")
})
@Entity
@Table(indexes = {@Index(columnList="name")})
public class ForeignMetadataFormatMapping implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "foreignMetadataFormatMapping", cascade = {CascadeType.REMOVE, CascadeType.MERGE, CascadeType.PERSIST})
private List<ForeignMetadataFieldMapping> foreignMetadataFieldMappings;
@Column( nullable = false )
private String name;
@Column( nullable = false )
private String displayName;
private String schemaLocation;
private String startElement;
/* getters/setters: */
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<ForeignMetadataFieldMapping> getDatasetFieldTypes() {
return foreignMetadataFieldMappings;
}
public void setDatasetFieldTypes(List<ForeignMetadataFieldMapping> foreignMetadataFieldMappings) {
this.foreignMetadataFieldMappings = foreignMetadataFieldMappings;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getSchemaLocation() {
return schemaLocation ;
}
public void setSchemaLocation(String schemaLocation) {
this.schemaLocation = schemaLocation;
}
public String getStartElement() {
return startElement;
}
public void setStartElement(String startElement) {
this.startElement = startElement;
}
/* overrides: */
@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 ForeignMetadataFormatMapping)) {
return false;
}
ForeignMetadataFormatMapping other = (ForeignMetadataFormatMapping) 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.ForeignMetadataFormatMapping[ id=" + id + " ]";
}
}