You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Simon Meyffret (JIRA)" <ji...@apache.org> on 2015/04/10 20:44:13 UTC
[jira] [Created] (LANG-1113) Manages Comparable in EqualsBuilder
Simon Meyffret created LANG-1113:
------------------------------------
Summary: Manages Comparable in EqualsBuilder
Key: LANG-1113
URL: https://issues.apache.org/jira/browse/LANG-1113
Project: Commons Lang
Issue Type: New Feature
Components: lang.builder.*
Reporter: Simon Meyffret
Priority: Trivial
As explained by LANG-393 and LANG-467, {{EqualsBuilder}} fails to provide a proper way to handle {{BigDecimal}} since {{BigDecimal}} takes the scale into account when using {{equals()}} but not with {{compareTo()}}.
Would it be possible to add a method *{{appendComparable()}}* in {{EqualsBuilder}} to manages {{Comparable}} objects when we want to build equality on {{compareTo()}} and not {{equals()}}?
Making clear that {{EqualsBuilder}} is not compliant with {{HashCodeBuilder}} when using this method.
For example:
{code:borderStyle=solid}
return new EqualsBuilder()
.append(this.name, other.name)
.appendComparable(this.amount, other.amount)
.isEqual();
{code}
with:
{code:title=EqualsBuilder.java|borderStyle=solid}
public EqualsBuilder appendComparable(Comparable lhs, Comparable rhs) {
int c = new CompareToBuilder()
.append(lhs, rhs) // manages null
.toComparison();
return append(c, 0);
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)