ToleranceRange.java
package com.tradecloud.domain.costing;
import com.tradecloud.common.base.PersistenceBase;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.MappedSuperclass;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.math.BigDecimal;
/**
* Abstract entity that holds an upper and lower tolerance values.
* Subclasses will usually add a specific field (or fields) to state what these tolerances apply to.
*/
@MappedSuperclass
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "CostGroupTolerance")
public abstract class ToleranceRange extends PersistenceBase {
private static final long serialVersionUID = 1L;
@XmlAttribute
@NotNull
private BigDecimal lowerTolerance;
@XmlAttribute
@NotNull
private BigDecimal upperTolerance;
public BigDecimal getLowerTolerance() {
return lowerTolerance;
}
public void setLowerTolerance(BigDecimal lowerTolerance) {
this.lowerTolerance = lowerTolerance;
}
public BigDecimal getUpperTolerance() {
return upperTolerance;
}
public void setUpperTolerance(BigDecimal upperTolerance) {
this.upperTolerance = upperTolerance;
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(lowerTolerance).append(upperTolerance).toHashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof ToleranceRange)) {
return false;
}
ToleranceRange other = (ToleranceRange) obj;
return new EqualsBuilder().append(lowerTolerance, other.lowerTolerance).append(upperTolerance, other.upperTolerance).isEquals();
}
}