/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package qa.qcri.aidr.predictui.entities;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
//import org.codehaus.jackson.annotate.JsonBackReference;
//import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnore;
//import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
/**
*
* @author Imran
*/
@XmlRootElement
@JsonIgnoreProperties(ignoreUnknown=true)
public class ModelNominalLabel implements Serializable {
private static final long serialVersionUID = 1L;
protected ModelNominalLabelPK modelNominalLabelPK;
@XmlElement private Double labelPrecision;
@XmlElement private Double labelRecall;
@XmlElement private Double labelAuc;
@XmlElement private Integer classifiedDocumentCount;
@XmlElement private Model model;
@XmlElement private NominalLabel nominalLabel;
public ModelNominalLabel() {
}
public ModelNominalLabel(ModelNominalLabelPK modelNominalLabelPK) {
this.modelNominalLabelPK = modelNominalLabelPK;
}
public ModelNominalLabel(int modelID, int nominalLabelID) {
this.modelNominalLabelPK = new ModelNominalLabelPK(modelID, nominalLabelID);
}
public ModelNominalLabelPK getModelNominalLabelPK() {
return modelNominalLabelPK;
}
public void setModelNominalLabelPK(ModelNominalLabelPK modelNominalLabelPK) {
this.modelNominalLabelPK = modelNominalLabelPK;
}
public Double getLabelPrecision() {
return labelPrecision;
}
public void setLabelPrecision(Double labelPrecision) {
this.labelPrecision = labelPrecision;
}
public Double getLabelRecall() {
return labelRecall;
}
public void setLabelRecall(Double labelRecall) {
this.labelRecall = labelRecall;
}
public Double getLabelAuc() {
return labelAuc;
}
public void setLabelAuc(Double labelAuc) {
this.labelAuc = labelAuc;
}
public Integer getClassifiedDocumentCount() {
return classifiedDocumentCount;
}
public void setClassifiedDocumentCount(Integer classifiedDocumentCount) {
this.classifiedDocumentCount = classifiedDocumentCount;
}
@XmlTransient
@JsonIgnore
public Model getModel() {
return model;
}
public void setModel(Model model) {
this.model = model;
}
public NominalLabel getNominalLabel() {
return nominalLabel;
}
public void setNominalLabel(NominalLabel nominalLabel) {
this.nominalLabel = nominalLabel;
}
@Override
public int hashCode() {
int hash = 0;
hash += (modelNominalLabelPK != null ? modelNominalLabelPK.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 ModelNominalLabel)) {
return false;
}
ModelNominalLabel other = (ModelNominalLabel) object;
if ((this.modelNominalLabelPK == null && other.modelNominalLabelPK != null) || (this.modelNominalLabelPK != null && !this.modelNominalLabelPK.equals(other.modelNominalLabelPK))) {
return false;
}
return true;
}
@Override
public String toString() {
return "qa.qcri.aidr.predictui.entities.ModelNominalLabel[ modelNominalLabelPK=" + modelNominalLabelPK + " ]";
}
}