[ https://issues.apache.org/jira/browse/LANG-1113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14501506#comment-14501506 ]
Benedikt Ritter commented on LANG-1113: --------------------------------------- Setting this to discussion. Let's see what others think about this. > 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 > Labels: BigDecimal, EqualsBuilder > Fix For: Discussion > > > 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)