Mercurial > hg > LGDataverses
diff src/main/java/edu/harvard/iq/dataverse/datavariable/VariableRange.java @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Tue, 08 Sep 2015 17:00:21 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/edu/harvard/iq/dataverse/datavariable/VariableRange.java Tue Sep 08 17:00:21 2015 +0200 @@ -0,0 +1,243 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package edu.harvard.iq.dataverse.datavariable; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Index; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +/** + * + * @author Leonid Andreev + * + * Largely based on the VariableRange entity from the DVN v2-3; + * original author: Ellen Kraffmiller (2006). + * + */ +@Entity +@Table(indexes = {@Index(columnList="datavariable_id")}) +public class VariableRange implements Serializable { + + /* + * Simple constructor: + */ + public VariableRange() { + } + + /* + * Definitions of class properties: + */ + + private static final long serialVersionUID = 1L; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /* + * DataVariable for which this range is defined. + */ + @ManyToOne + @JoinColumn(nullable=false) + private DataVariable dataVariable; + + /* + * beginValue: represents the beginning of the range. + */ + private String beginValue; + + /* + * endValue: represents the end of the range. + */ + private String endValue; + + public enum VariableRangeType { MIN, MAX, MIN_EXCLUSIVE, MAX_EXCLUSIVE, POINT}; + /* + * beginValueType: type of the value that opens the range. + */ + + //@ManyToOne + private VariableRangeType beginValueType; + + /* + * endValueType: type of the value that closes the range. + */ + //@ManyToOne + private VariableRangeType endValueType; + + + /* + * Getter and Setter methods: + */ + + + public String getBeginValue() { + return this.beginValue; + } + + public void setBeginValue(String beginValue) { + this.beginValue = beginValue; + } + + public String getEndValue() { + return this.endValue; + } + + public void setEndValue(String endValue) { + this.endValue = endValue; + } + + public VariableRangeType getBeginValueType() { + return this.beginValueType; + } + + public void setBeginValueType(VariableRangeType beginValueType) { + this.beginValueType = beginValueType; + } + + public void setBeginValueTypeMin() { + this.beginValueType = VariableRangeType.MIN; + } + + public void setBeginValueTypeMax() { + this.beginValueType = VariableRangeType.MAX; + } + + public void setBeginValueTypeMinExcl() { + this.beginValueType = VariableRangeType.MIN_EXCLUSIVE; + } + + public void setBeginValueTypeMaxExcl() { + this.beginValueType = VariableRangeType.MAX_EXCLUSIVE; + } + + public void setBeginValueTypePoint() { + this.beginValueType = VariableRangeType.POINT; + } + + public boolean isBeginValueTypeMin() { + return this.beginValueType == VariableRangeType.MIN; + } + + public boolean isBeginValueTypeMax() { + return this.beginValueType == VariableRangeType.MAX; + } + + public boolean isBeginValueTypeMinExcl() { + return this.beginValueType == VariableRangeType.MIN_EXCLUSIVE; + } + + public boolean isBeginValueTypeMaxExcl() { + return this.beginValueType == VariableRangeType.MAX_EXCLUSIVE; + } + + public boolean isBeginValueTypePoint() { + return this.beginValueType == VariableRangeType.POINT; + } + + public VariableRangeType getEndValueType() { + return this.endValueType; + } + + public void setEndValueType(VariableRangeType endValueType) { + this.endValueType = endValueType; + } + + public void setEndValueTypeMin() { + this.endValueType = VariableRangeType.MIN; + } + + public void setEndValueTypeMax() { + this.endValueType = VariableRangeType.MAX; + } + + public void setEndValueTypeMinExcl() { + this.endValueType = VariableRangeType.MIN_EXCLUSIVE; + } + + public void setEndValueTypeMaxExcl() { + this.endValueType = VariableRangeType.MAX_EXCLUSIVE; + } + + public void setEndValueTypePoint() { + this.endValueType = VariableRangeType.POINT; + } + + public boolean isEndValueTypeMin() { + return this.endValueType == VariableRangeType.MIN; + } + + public boolean isEndValueTypeMax() { + return this.endValueType == VariableRangeType.MAX; + } + + public boolean isEndValueTypeMinExcl() { + return this.endValueType == VariableRangeType.MIN_EXCLUSIVE; + } + + public boolean isEndValueTypeMaxExcl() { + return this.endValueType == VariableRangeType.MAX_EXCLUSIVE; + } + + public boolean isEndValueTypePoint() { + return this.endValueType == VariableRangeType.POINT; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public DataVariable getDataVariable() { + return this.dataVariable; + } + + public void setDataVariable(DataVariable dataVariable) { + this.dataVariable = dataVariable; + } + + + /* + * Custom overrides for hashCode(), equals() and toString() methods: + */ + + + @Override + public int hashCode() { + int hash = 0; + hash += (this.id != null ? this.id.hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) { + if (!(object instanceof VariableRange)) { + return false; + } + VariableRange other = (VariableRange)object; + if (this.id != other.id) { + if (this.id == null || !this.id.equals(other.id)) { + return false; + } + } + return true; + } + + @Override + public String toString() { + return "edu.harvard.iq.dataverse.VariableRange[ id=" + id + " ]"; + } + +}
