/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package qa.qcri.aidr.predict.dbentities;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import qa.qcri.aidr.dbmanager.dto.NominalLabelDTO;
//import org.codehaus.jackson.annotate.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
*
* @author Koushik
*/
public class NominalLabel implements Serializable {
private static final long serialVersionUID = 1L;
@XmlElement
private Integer nominalLabelID;
@XmlElement
private String nominalLabelCode;
@XmlElement
private String name;
@XmlElement
private String description;
@JsonIgnore
private transient Collection<TaggerDocument> documentCollection;
public NominalLabel() {
}
public NominalLabel(Integer nominalLabelID) {
this.nominalLabelID = nominalLabelID;
}
public NominalLabel(Integer nominalLabelID, String nominalLabelCode, String name, String description) {
this.nominalLabelID = nominalLabelID;
this.nominalLabelCode = nominalLabelCode;
this.name = name;
this.description = description;
}
public Integer getNominalLabelID() {
return nominalLabelID;
}
public void setNominalLabelID(Integer nominalLabelID) {
this.nominalLabelID = nominalLabelID;
}
public String getNominalLabelCode() {
return nominalLabelCode;
}
public void setNominalLabelCode(String nominalLabelCode) {
this.nominalLabelCode = nominalLabelCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@XmlTransient
@JsonIgnore
public Collection<TaggerDocument> getDocumentCollection() {
return documentCollection;
}
public void setDocumentCollection(Collection<TaggerDocument> documentCollection) {
this.documentCollection = documentCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (nominalLabelID != null ? nominalLabelID.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 NominalLabel)) {
return false;
}
NominalLabel other = (NominalLabel) object;
if ((this.nominalLabelID == null && other.nominalLabelID != null) || (this.nominalLabelID != null && !this.nominalLabelID.equals(other.nominalLabelID))) {
return false;
}
return true;
}
@Override
public String toString() {
return "qa.qcri.aidr.predict.dbentities.NominalLabel[ nominalLabelID=" + nominalLabelID + " ]";
}
public static Collection<NominalLabel> toNominalLabelCollection(Collection<NominalLabelDTO> list) {
if (list != null) {
Collection<NominalLabel> nominalLabelList = new ArrayList<NominalLabel>();
for (NominalLabelDTO t: list) {
if (t != null) {
NominalLabel nominalLabel = new NominalLabel(t.getNominalLabelId().intValue(), t.getNominalLabelCode(), t.getName(), t.getDescription());
nominalLabelList.add(nominalLabel);
}
}
return nominalLabelList;
}
return null;
}
public static Collection<NominalLabelDTO> toNominalLabelDTOCollection(Collection<NominalLabel> list) {
if (list != null) {
Collection<NominalLabelDTO> nominalLabelList = new ArrayList<NominalLabelDTO>();
for (NominalLabel t: list) {
if (t != null) {
NominalLabelDTO nominalLabel = new NominalLabelDTO();
nominalLabel.setNominalLabelId(new Long(t.getNominalLabelID()));
nominalLabel.setNominalLabelCode(t.getNominalLabelCode());
nominalLabel.setName(t.getName());
nominalLabel.setDescription(t.getDescription());
nominalLabelList.add(nominalLabel);
}
}
return nominalLabelList;
}
return null;
}
}