jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
Signup
groovy
  • groovy
  • GROOVY-2756 create new user overwritable operator...
  • GROOVY-2677

== uses compareTo if groovy class is a comparable

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Sub-task Sub-task
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Environment:
    mac 10.5.2 java.1.5 Groovy Version: 1.1-rc-2 JVM: 1.5.0_13-119
  • Number of attachments :
    0

Description

class CP implements Comparable
{
int number

int compareTo(obj)

{ println 'compareTo called' return number - obj.number }

boolean equals(obj)

{ println 'equals called' return obj.number = number }

}

// script
def cp1 = new CP(number:1)
def cp2 = new CP(number:2)
cp1==cp2

// results
if CP implements Comparable, compareTo is called, if not, equals is called

// using grails with above as follows has ominous implications

I have a setup similar to as follows:
TopLevelDomainClass

{ SortedSet subLevels static hasMany= [subLevels:SubLevelDomainClass] }

SubLevelDomainClass implements Comparable
{
int number
int compareTo(obj)

{ return this.number - obj.number }

}

sublevel1==sublevel2 calls the compareTo function for evaluation

Activity

  • All
  • Comments
  • Work Log
  • History
  • Activity
No work has yet been logged on this issue.

People

  • Assignee:
    Unassigned
    Reporter:
    Brian White
Vote (5)
Watch (6)

Dates

  • Created:
    11/Mar/08 11:44 AM
    Updated:
    17/Dec/08 3:55 AM
  • Atlassian JIRA (v5.2.7#850-sha1:b2af0c8)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.