directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSERVER-1516) Classes implementing compareTo should also implement equals (and thus hashCode)
Date Wed, 08 Jun 2011 15:48:59 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-1516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13046025#comment-13046025
] 

Emmanuel Lecharny commented on DIRSERVER-1516:
----------------------------------------------

the org.apache.directory.server.dhcp.messages.MessageType  is now an Enum

the org.apache.directory.server.ntp.messages.StratumType  is now an Enum
the org.apache.directory.server.ntp.messages.ModeType  is now an Enum
the org.apache.directory.server.ntp.messages.LeapIndicatorType  is now an Enum

org.apache.directory.server.ntp.messages.ReferenceIdentifier  : fixed

> Classes implementing compareTo should also implement equals (and thus hashCode)
> -------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-1516
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1516
>             Project: Directory ApacheDS
>          Issue Type: Bug
>         Environment: All
>            Reporter: Felix Knecht
>             Fix For: 2.0.0-M1
>
>
> Following classes are lacking this problem
> [apacheds-protocol-dhcp]
> org.apache.directory.server.dhcp.messages.MessageType
> [apacheds-protocol-ntp]
> org.apache.directory.server.ntp.messages.LeapIndicatorType
> org.apache.directory.server.ntp.messages.ModeType
> org.apache.directory.server.ntp.messages.ReferenceIdentifier
> org.apache.directory.server.ntp.messages.StratumType
> http://findbugs.sourceforge.net/bugDescriptions.html#EQ_COMPARETO_USE_OBJECT_EQUALS
> This class defines a compareTo(...) method but inherits its equals() method from java.lang.Object.
Generally, the value of compareTo should return zero if and only if equals returns true. If
this is violated, weird and unpredictable failures will occur in classes such as PriorityQueue.
In Java 5 the PriorityQueue.remove method uses the compareTo method, while in Java 6 it uses
the equals method.
> From the JavaDoc for the compareTo method in the Comparable interface:
>     It is strongly recommended, but not strictly required that (x.compareTo(y)==0) ==
(x.equals(y)). Generally speaking, any class that implements the Comparable interface and
violates this condition should clearly indicate this fact. The recommended language is "Note:
this class has a natural ordering that is inconsistent with equals." 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message