commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedikt Ritter (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LANG-1113) Manages Comparable in EqualsBuilder
Date Sat, 18 Apr 2015 18:16:58 GMT

    [ 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)

Mime
View raw message