ReferenceValueDto.java
package com.tradecloud.dto.base;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* This data transfer object is intended for use as a single result from a database (JPA, Hibernate) query as an alternative to loading a complete
* entity into memory and into the persistence context (session).
*
* It should only be used by entities that have both a Reference and a Value.
*/
@Getter
@Setter
public class ReferenceValueDto implements Serializable {
private static final long serialVersionUID = 1L;
private String parentReference;
private String reference;
private BigDecimal value;
private BigDecimal invoiceValue;
private BigDecimal packingListValue;
private String supplierItemReference;
private String originalItemId;
private String organisationalUnit;
private Integer lineNumber;
public ReferenceValueDto() {
}
public ReferenceValueDto(String reference, BigDecimal value) {
this(reference, value, "parentRef");
}
public ReferenceValueDto(String reference, BigDecimal value, String parentReference) {
this.reference = reference;
this.value = value;
this.parentReference = parentReference;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (!(obj instanceof ReferenceValueDto)) {
return false;
}
ReferenceValueDto other = (ReferenceValueDto) obj;
return new EqualsBuilder().append(parentReference, other.getParentReference())
.append(reference, other.reference).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(parentReference).append(reference).toHashCode();
}
}