commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Dougherty" <r...@rd.gen.nz>
Subject [collections] [patch] NodeCachingLinkedList
Date Sat, 14 Dec 2002 07:03:13 GMT
(I'm reposting this, since I sent the original over eight hours ago and it
hasn't shown up here. Apologies if you get it twice.)

Hi

Here is a patch to resolve the license issues with
NodeCachingLinkedList. Included in this patch is:

- CommonsLinkedList, a version of java.util.LinkedList that we can
  distribute with [collections].

  A few points about this class:

  - Is the name ok? I couldn't think of anything else to distinguish
    it from the standard implementation.

  - It is package visible, perhaps it should be public.

  - It extends LinkedList rather than AbstractSequentialList. Since it
    doesn't override every method of List there will be problems if
    LinkedList overrides more methods in the future. (This was a
    problem with the old implementation of NodeCachingLinkedList too.)

    Also, extending LinkedList takes up a little bit more memory.

  - It will probably be a little slower than LinkedList since I have
    made an effort to break out common code rather than inlining
    everything. However, the difference should be very small.

- NodeCachingLinkedList which overrides several of CommonsLinkedList
  methods to allow caching of nodes. Jeff may wish to look at this to
  see if I've written it correctly. Of particular note, I have changed
  the default maximum cache size from 1000000 down to 20.

- TestLinkedList, for testing classes that extend LinkedList. Being
  able to write this class is one good reason for CommonsLinkedList to
  extend LinkedList.

- Tests for CommonsLinkedList and NodeCachingLinkedList.

- Serialized versions of CommonsLinkedList and NodeCachingLinkedList
  that can be placed in data/test.

- Patch to TestObject.getCompatibilityVersion() to use a String
  version instead of an int version. This allows version strings like
  "2.1" or "2.2". This also required changes to several other test
  cases which overrode the method.

Rich


Mime
View raw message