/*
* 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 javax.persistence.Index;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
/**
*
* @author skraffmiller
*/
@NamedQueries({
@NamedQuery(name = "DataverseFieldTypeInputLevel.removeByOwnerId",
query = "DELETE FROM DataverseFieldTypeInputLevel f WHERE f.dataverse.id=:ownerId"),
@NamedQuery(name = "DataverseFieldTypeInputLevel.findByDataverseId",
query = "select f from DataverseFieldTypeInputLevel f where f.dataverse.id = :dataverseId"),
@NamedQuery(name = "DataverseFieldTypeInputLevel.findByDataverseIdDatasetFieldTypeId",
query = "select f from DataverseFieldTypeInputLevel f where f.dataverse.id = :dataverseId and f.datasetFieldType.id = :datasetFieldTypeId"),
@NamedQuery(name = "DataverseFieldTypeInputLevel.findByDataverseIdAndDatasetFieldTypeIdList",
query = "select f from DataverseFieldTypeInputLevel f where f.dataverse.id = :dataverseId and f.datasetFieldType.id in :datasetFieldIdList")
})
@Table(name="DataverseFieldTypeInputLevel"
, uniqueConstraints={
@UniqueConstraint(columnNames={"dataverse_id", "datasetfieldtype_id"})}
, indexes = {@Index(columnList="dataverse_id")
, @Index(columnList="datasetfieldtype_id")
, @Index(columnList="required")}
)
@Entity
public class DataverseFieldTypeInputLevel implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "dataverse_id")
private Dataverse dataverse;
@ManyToOne
@JoinColumn(name = "datasetfieldtype_id")
private DatasetFieldType datasetFieldType;
private boolean include;
private boolean required;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
public Dataverse getDataverse() {
return dataverse;
}
public void setDataverse(Dataverse dataverse) {
this.dataverse = dataverse;
}
public DatasetFieldType getDatasetFieldType() {
return datasetFieldType;
}
public void setDatasetFieldType(DatasetFieldType datasetFieldType) {
this.datasetFieldType = datasetFieldType;
}
public boolean isInclude() {
return include;
}
public void setInclude(boolean include) {
this.include = include;
}
public boolean isRequired() {
return required;
}
public void setRequired(boolean required) {
this.required = required;
}
@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 DataverseFieldTypeInputLevel)) {
return false;
}
DataverseFieldTypeInputLevel other = (DataverseFieldTypeInputLevel) 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.DataverseFieldTypeInputLevel[ id=" + id + " ]";
}
}