package net.sourceforge.seqware.common.model; import java.io.Serializable; import java.util.SortedSet; import java.util.TreeSet; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; /** * <p> * ExperimentSpotDesign class. * </p> * * @author boconnor * @version $Id: $Id */ public class ExperimentSpotDesign implements Serializable, Comparable<ExperimentSpotDesign>, SecondTierModel { /** * * LEFT OFF WITH: NEED TO FINISH THIS OBJECT * */ private static final long serialVersionUID = 173283927487293893L; private Integer experimentSpotDesignId; private Integer decodeMethod; private Integer readsPerSpot; private String readSpec; private String tagSpec; private String adapterSpec; private SortedSet<ExperimentSpotDesignReadSpec> readSpecs = new TreeSet<>(); /** * <p> * Constructor for ExperimentSpotDesign. * </p> */ public ExperimentSpotDesign() { super(); } /** * <p> * compareTo. * </p> * * @param that * a {@link net.sourceforge.seqware.common.model.ExperimentSpotDesign} object. * @return a int. */ @Override public int compareTo(ExperimentSpotDesign that) { if (that == null) return -1; if (that.getExperimentSpotDesignId() == null && this.getExperimentSpotDesignId() == null) // when both names are null return 0; if (that.getExperimentSpotDesignId() == null) return -1; // when only the other name is null return (that.getExperimentSpotDesignId().compareTo(this.getExperimentSpotDesignId())); } /** * <p> * toString. * </p> * * @return a {@link java.lang.String} object. */ @Override public String toString() { return new ToStringBuilder(this).append("experimentSpotDesignId", getExperimentSpotDesignId()).toString(); } /** * {@inheritDoc} * * @param other */ @Override public boolean equals(Object other) { if ((this == other)) return true; if (!(other instanceof ExperimentSpotDesign)) return false; ExperimentSpotDesign castOther = (ExperimentSpotDesign) other; return new EqualsBuilder().append(this.getExperimentSpotDesignId(), castOther.getExperimentSpotDesignId()).isEquals(); } /** * <p> * hashCode. * </p> * * @return a int. */ @Override public int hashCode() { return new HashCodeBuilder().append(getExperimentSpotDesignId()).toHashCode(); } /** * <p> * Getter for the field <code>experimentSpotDesignId</code>. * </p> * * @return a {@link java.lang.Integer} object. */ public Integer getExperimentSpotDesignId() { return experimentSpotDesignId; } /** * <p> * Setter for the field <code>experimentSpotDesignId</code>. * </p> * * @param experimentSpotDesignId * a {@link java.lang.Integer} object. */ public void setExperimentSpotDesignId(Integer experimentSpotDesignId) { this.experimentSpotDesignId = experimentSpotDesignId; } /** * <p> * Getter for the field <code>decodeMethod</code>. * </p> * * @return a {@link java.lang.Integer} object. */ public Integer getDecodeMethod() { return decodeMethod; } /** * <p> * Setter for the field <code>decodeMethod</code>. * </p> * * @param decodeMethod * a {@link java.lang.Integer} object. */ public void setDecodeMethod(Integer decodeMethod) { this.decodeMethod = decodeMethod; } /** * <p> * Getter for the field <code>readsPerSpot</code>. * </p> * * @return a {@link java.lang.Integer} object. */ public Integer getReadsPerSpot() { return readsPerSpot; } /** * <p> * Setter for the field <code>readsPerSpot</code>. * </p> * * @param readsPerSpot * a {@link java.lang.Integer} object. */ public void setReadsPerSpot(Integer readsPerSpot) { this.readsPerSpot = readsPerSpot; } /** * <p> * Getter for the field <code>readSpec</code>. * </p> * * @return a {@link java.lang.String} object. */ public String getReadSpec() { return readSpec; } /** * <p> * Setter for the field <code>readSpec</code>. * </p> * * @param readSpec * a {@link java.lang.String} object. */ public void setReadSpec(String readSpec) { this.readSpec = readSpec; } /** * <p> * Getter for the field <code>tagSpec</code>. * </p> * * @return a {@link java.lang.String} object. */ public String getTagSpec() { return tagSpec; } /** * <p> * Setter for the field <code>tagSpec</code>. * </p> * * @param tagSpec * a {@link java.lang.String} object. */ public void setTagSpec(String tagSpec) { this.tagSpec = tagSpec; } /** * <p> * Getter for the field <code>adapterSpec</code>. * </p> * * @return a {@link java.lang.String} object. */ public String getAdapterSpec() { return adapterSpec; } /** * <p> * Setter for the field <code>adapterSpec</code>. * </p> * * @param adapterSpec * a {@link java.lang.String} object. */ public void setAdapterSpec(String adapterSpec) { this.adapterSpec = adapterSpec; } /** * <p> * Getter for the field <code>serialVersionUID</code>. * </p> * * @return a long. */ public static long getSerialVersionUID() { return serialVersionUID; } /** * <p> * Getter for the field <code>readSpecs</code>. * </p> * * @return a {@link java.util.SortedSet} object. */ public SortedSet<ExperimentSpotDesignReadSpec> getReadSpecs() { return readSpecs; } /** * <p> * Setter for the field <code>readSpecs</code>. * </p> * * @param readSpecs * a {@link java.util.SortedSet} object. */ public void setReadSpecs(SortedSet<ExperimentSpotDesignReadSpec> readSpecs) { this.readSpecs = readSpecs; } @Override public int getModelId() { return this.getExperimentSpotDesignId(); } }