/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package io.seqware.webservice.generated.model; import java.io.Serializable; import java.math.BigInteger; import java.sql.Timestamp; import java.util.Collection; import java.util.Date; import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Version; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * * @author boconnor */ @Entity @Table(name = "experiment") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Experiment.findAll", query = "SELECT e FROM Experiment e"), @NamedQuery(name = "Experiment.findByExperimentId", query = "SELECT e FROM Experiment e WHERE e.experimentId = :experimentId"), @NamedQuery(name = "Experiment.findByName", query = "SELECT e FROM Experiment e WHERE e.name = :name"), @NamedQuery(name = "Experiment.findByTitle", query = "SELECT e FROM Experiment e WHERE e.title = :title"), @NamedQuery(name = "Experiment.findByDescription", query = "SELECT e FROM Experiment e WHERE e.description = :description"), @NamedQuery(name = "Experiment.findByAlias", query = "SELECT e FROM Experiment e WHERE e.alias = :alias"), @NamedQuery(name = "Experiment.findByAccession", query = "SELECT e FROM Experiment e WHERE e.accession = :accession"), @NamedQuery(name = "Experiment.findByStatus", query = "SELECT e FROM Experiment e WHERE e.status = :status"), @NamedQuery(name = "Experiment.findByCenterName", query = "SELECT e FROM Experiment e WHERE e.centerName = :centerName"), @NamedQuery(name = "Experiment.findBySequenceSpace", query = "SELECT e FROM Experiment e WHERE e.sequenceSpace = :sequenceSpace"), @NamedQuery(name = "Experiment.findByBaseCaller", query = "SELECT e FROM Experiment e WHERE e.baseCaller = :baseCaller"), @NamedQuery(name = "Experiment.findByQualityScorer", query = "SELECT e FROM Experiment e WHERE e.qualityScorer = :qualityScorer"), @NamedQuery(name = "Experiment.findByQualityNumberOfLevels", query = "SELECT e FROM Experiment e WHERE e.qualityNumberOfLevels = :qualityNumberOfLevels"), @NamedQuery(name = "Experiment.findByQualityMultiplier", query = "SELECT e FROM Experiment e WHERE e.qualityMultiplier = :qualityMultiplier"), @NamedQuery(name = "Experiment.findByQualityType", query = "SELECT e FROM Experiment e WHERE e.qualityType = :qualityType"), @NamedQuery(name = "Experiment.findByExpectedNumberRuns", query = "SELECT e FROM Experiment e WHERE e.expectedNumberRuns = :expectedNumberRuns"), @NamedQuery(name = "Experiment.findByExpectedNumberSpots", query = "SELECT e FROM Experiment e WHERE e.expectedNumberSpots = :expectedNumberSpots"), @NamedQuery(name = "Experiment.findByExpectedNumberReads", query = "SELECT e FROM Experiment e WHERE e.expectedNumberReads = :expectedNumberReads"), @NamedQuery(name = "Experiment.findBySwAccession", query = "SELECT e FROM Experiment e WHERE e.swAccession = :swAccession"), @NamedQuery(name = "Experiment.findByCreateTstmp", query = "SELECT e FROM Experiment e WHERE e.createTstmp = :createTstmp"), @NamedQuery(name = "Experiment.findByUpdateTstmp", query = "SELECT e FROM Experiment e WHERE e.updateTstmp = :updateTstmp") }) public class Experiment implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "experiment_id") private Integer experimentId; @Size(max = 2147483647) @Column(name = "name") private String name; @Size(max = 2147483647) @Column(name = "title") private String title; @Size(max = 2147483647) @Column(name = "description") private String description; @Size(max = 2147483647) @Column(name = "alias") private String alias; @Size(max = 2147483647) @Column(name = "accession") private String accession; @Size(max = 2147483647) @Column(name = "status") private String status; @Size(max = 2147483647) @Column(name = "center_name") private String centerName; @Size(max = 2147483647) @Column(name = "sequence_space") private String sequenceSpace; @Size(max = 2147483647) @Column(name = "base_caller") private String baseCaller; @Size(max = 2147483647) @Column(name = "quality_scorer") private String qualityScorer; @Column(name = "quality_number_of_levels") private Integer qualityNumberOfLevels; @Column(name = "quality_multiplier") private Integer qualityMultiplier; @Size(max = 2147483647) @Column(name = "quality_type") private String qualityType; @Column(name = "expected_number_runs") private Integer expectedNumberRuns; @Column(name = "expected_number_spots") private BigInteger expectedNumberSpots; @Column(name = "expected_number_reads") private BigInteger expectedNumberReads; @Column(name = "sw_accession", insertable = false, updatable = false) private Integer swAccession; @Basic(optional = false) @NotNull @Column(name = "create_tstmp") @Temporal(TemporalType.TIMESTAMP) private Date createTstmp; @Column(name = "update_tstmp") @Version private Timestamp updateTstmp; @OneToMany(cascade = CascadeType.ALL, mappedBy = "experimentId") private Collection<ExperimentAttribute> experimentAttributeCollection; @JoinColumn(name = "study_id", referencedColumnName = "study_id") @ManyToOne(optional = false) private Study studyId; @JoinColumn(name = "owner_id", referencedColumnName = "registration_id") @ManyToOne private Registration ownerId; @JoinColumn(name = "platform_id", referencedColumnName = "platform_id") @ManyToOne private Platform platformId; @JoinColumn(name = "experiment_spot_design_id", referencedColumnName = "experiment_spot_design_id") @ManyToOne private ExperimentSpotDesign experimentSpotDesignId; @JoinColumn(name = "experiment_library_design_id", referencedColumnName = "experiment_library_design_id") @ManyToOne private ExperimentLibraryDesign experimentLibraryDesignId; @OneToMany(cascade = CascadeType.ALL, mappedBy = "experimentId") private Collection<ProcessingExperiments> processingExperimentsCollection; @OneToMany(mappedBy = "experimentId") private Collection<Sample> sampleCollection; @OneToMany(cascade = CascadeType.ALL, mappedBy = "experimentId") private Collection<ExperimentLink> experimentLinkCollection; public Experiment() { } public Experiment(Integer experimentId) { this.experimentId = experimentId; } public Experiment(Integer experimentId, Date createTstmp) { this.experimentId = experimentId; this.createTstmp = createTstmp; } public Integer getExperimentId() { return experimentId; } public void setExperimentId(Integer experimentId) { this.experimentId = experimentId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getAlias() { return alias; } public void setAlias(String alias) { this.alias = alias; } public String getAccession() { return accession; } public void setAccession(String accession) { this.accession = accession; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getCenterName() { return centerName; } public void setCenterName(String centerName) { this.centerName = centerName; } public String getSequenceSpace() { return sequenceSpace; } public void setSequenceSpace(String sequenceSpace) { this.sequenceSpace = sequenceSpace; } public String getBaseCaller() { return baseCaller; } public void setBaseCaller(String baseCaller) { this.baseCaller = baseCaller; } public String getQualityScorer() { return qualityScorer; } public void setQualityScorer(String qualityScorer) { this.qualityScorer = qualityScorer; } public Integer getQualityNumberOfLevels() { return qualityNumberOfLevels; } public void setQualityNumberOfLevels(Integer qualityNumberOfLevels) { this.qualityNumberOfLevels = qualityNumberOfLevels; } public Integer getQualityMultiplier() { return qualityMultiplier; } public void setQualityMultiplier(Integer qualityMultiplier) { this.qualityMultiplier = qualityMultiplier; } public String getQualityType() { return qualityType; } public void setQualityType(String qualityType) { this.qualityType = qualityType; } public Integer getExpectedNumberRuns() { return expectedNumberRuns; } public void setExpectedNumberRuns(Integer expectedNumberRuns) { this.expectedNumberRuns = expectedNumberRuns; } public BigInteger getExpectedNumberSpots() { return expectedNumberSpots; } public void setExpectedNumberSpots(BigInteger expectedNumberSpots) { this.expectedNumberSpots = expectedNumberSpots; } public BigInteger getExpectedNumberReads() { return expectedNumberReads; } public void setExpectedNumberReads(BigInteger expectedNumberReads) { this.expectedNumberReads = expectedNumberReads; } public Integer getSwAccession() { return swAccession; } public void setSwAccession(Integer swAccession) { this.swAccession = swAccession; } public Date getCreateTstmp() { return createTstmp; } public void setCreateTstmp(Date createTstmp) { this.createTstmp = createTstmp; } public Timestamp getUpdateTstmp() { return updateTstmp; } public void setUpdateTstmp(Timestamp updateTstmp) { this.updateTstmp = updateTstmp; } @XmlTransient public Collection<ExperimentAttribute> getExperimentAttributeCollection() { return experimentAttributeCollection; } public void setExperimentAttributeCollection(Collection<ExperimentAttribute> experimentAttributeCollection) { this.experimentAttributeCollection = experimentAttributeCollection; } public Study getStudyId() { return studyId; } public void setStudyId(Study studyId) { this.studyId = studyId; } public Registration getOwnerId() { return ownerId; } public void setOwnerId(Registration ownerId) { this.ownerId = ownerId; } public Platform getPlatformId() { return platformId; } public void setPlatformId(Platform platformId) { this.platformId = platformId; } public ExperimentSpotDesign getExperimentSpotDesignId() { return experimentSpotDesignId; } public void setExperimentSpotDesignId(ExperimentSpotDesign experimentSpotDesignId) { this.experimentSpotDesignId = experimentSpotDesignId; } public ExperimentLibraryDesign getExperimentLibraryDesignId() { return experimentLibraryDesignId; } public void setExperimentLibraryDesignId(ExperimentLibraryDesign experimentLibraryDesignId) { this.experimentLibraryDesignId = experimentLibraryDesignId; } @XmlTransient public Collection<ProcessingExperiments> getProcessingExperimentsCollection() { return processingExperimentsCollection; } public void setProcessingExperimentsCollection(Collection<ProcessingExperiments> processingExperimentsCollection) { this.processingExperimentsCollection = processingExperimentsCollection; } @XmlTransient public Collection<Sample> getSampleCollection() { return sampleCollection; } public void setSampleCollection(Collection<Sample> sampleCollection) { this.sampleCollection = sampleCollection; } @XmlTransient public Collection<ExperimentLink> getExperimentLinkCollection() { return experimentLinkCollection; } public void setExperimentLinkCollection(Collection<ExperimentLink> experimentLinkCollection) { this.experimentLinkCollection = experimentLinkCollection; } @Override public int hashCode() { int hash = 0; hash += (experimentId != null ? experimentId.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 Experiment)) { return false; } Experiment other = (Experiment) object; if ((this.experimentId == null && other.experimentId != null) || (this.experimentId != null && !this.experimentId.equals(other.experimentId))) { return false; } return true; } @Override public String toString() { return "io.seqware.webservice.model.Experiment[ experimentId=" + experimentId + " ]"; } }