Uploaded image for project: 'Commons Collections'
  1. Commons Collections
  2. COLLECTIONS-242

Add Equator interface for more powerful collections

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0-alpha1, 4.0
    • Component/s: Comparator
    • Labels:
      None

      Description

      Java has Comparable and Comparator to compare objects, and objects have an equals() method. But there is no interface for when an object has multiple ways of being equal.

      e.g.: an database object that has a name, code and a value. Equality could be based on:

      • database id
      • code
      • name and code
      • case-insensitive name

      When extended to collections, this allows us to search for specific
      values (with an EqualsPredicate that takes an Equator), and implement
      Maps and Sets that use specific equators to determine uniqueness.

      I propose that it has two methods:
      boolean equate();
      int hash();

      I shall upload some files when I next get some time.

      NB: This ticket is a summary of the email conversation begun on 5 Jan 2007: "equator interface" (http://archives.devshed.com/forums/java-118/equator-interface-2126195.html). Stephen C made reference there to creating a FlexiMap, but in my mind, that's additional to this issue (this interface still needs to be created to be able to stand alone).

        Attachments

          Activity

            People

            • Assignee:
              shammah Stephen Kestle
              Reporter:
              shammah Stephen Kestle
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: