package org.gmod.schema.mapped; import java.io.Serializable; import java.util.Collection; import java.util.Collections; import java.util.Date; import static javax.persistence.GenerationType.SEQUENCE; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name = "analysis") public class Analysis implements Serializable { // Fields @SequenceGenerator(name = "generator", sequenceName = "analysis_analysis_id_seq", allocationSize=1) @Id @GeneratedValue(strategy = SEQUENCE, generator = "generator") @Column(name = "analysis_id", unique = false, nullable = false, insertable = true, updatable = true) private int analysisId; @Column(name = "name", unique = false, nullable = true, insertable = true, updatable = true) private String name; @Column(name = "description", unique = false, nullable = true, insertable = true, updatable = true) private String description; @Column(name = "program", unique = false, nullable = false, insertable = true, updatable = true) private String program; @Column(name = "programversion", unique = false, nullable = false, insertable = true, updatable = true) private String programVersion; @Column(name = "algorithm", unique = false, nullable = true, insertable = true, updatable = true) private String algorithm; @Column(name = "sourcename", unique = false, nullable = true, insertable = true, updatable = true) private String sourceName; @Column(name = "sourceversion", unique = false, nullable = true, insertable = true, updatable = true) private String sourceVersion; @Column(name = "sourceuri", unique = false, nullable = true, insertable = true, updatable = true) private String sourceUri; @Column(name = "timeexecuted", unique = false, nullable = false, insertable = true, updatable = true, length = 29) private Date timeExecuted; @OneToMany(cascade = {}, fetch = FetchType.LAZY, mappedBy = "analysis") private Collection<AnalysisFeature> analysisFeatures; @OneToMany(cascade = {}, fetch = FetchType.LAZY, mappedBy = "analysis") private Collection<AnalysisProp> analysisProps; // Constructors public Analysis() { timeExecuted = new Date(); } // Property accessors public int getAnalysisId() { return this.analysisId; } public void setAnalysisId(int analysisId) { this.analysisId = analysisId; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getDescription() { return this.description; } public void setDescription(String description) { this.description = description; } public String getProgram() { return this.program; } public void setProgram(String program) { this.program = program; } public String getProgramVersion() { return this.programVersion; } public void setProgramVersion(String programVersion) { this.programVersion = programVersion; } public String getAlgorithm() { return this.algorithm; } public void setAlgorithm(String algorithm) { this.algorithm = algorithm; } public String getSourceName() { return this.sourceName; } public void setSourceName(String sourceName) { this.sourceName = sourceName; } public String getSourceVersion() { return this.sourceVersion; } public void setSourceVersion(String sourceVersion) { this.sourceVersion = sourceVersion; } public String getSourceUri() { return this.sourceUri; } public void setSourceUri(String sourceUri) { this.sourceUri = sourceUri; } public Date getTimeExecuted() { return this.timeExecuted; } public void setTimeExecuted(Date timeExecuted) { this.timeExecuted = timeExecuted; } public Collection<AnalysisFeature> getAnalysisFeatures() { return this.analysisFeatures; } public void setAnalysisFeatures(Collection<AnalysisFeature> analysisFeatures) { this.analysisFeatures = analysisFeatures; } public Collection<AnalysisProp> getAnalysisProps() { return Collections.unmodifiableCollection(this.analysisProps); } public void addAnalysisProp(AnalysisProp analysisProp) { this.analysisProps.add(analysisProp); analysisProp.setAnalysis(this); } }