On Thu, Apr 10, 2008 at 6:26 AM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> On Wednesday 09 April 2008 17:01, you wrote:
>  > Author: j16sdiz
>  > Date: 2008-04-09 16:01:28 +0000 (Wed, 09 Apr 2008)
>  > New Revision: 19114
>  >
>  > Modified:
>  >    trunk/freenet/src/freenet/support/DoublyLinkedList.java
>  >    trunk/freenet/src/freenet/support/DoublyLinkedListImpl.java
>  >
>  
> trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
>  > Log:
>  > javadoc and style fix
>  >
>  >
>  > Modified: trunk/freenet/src/freenet/support/DoublyLinkedList.java
>  > ===================================================================
>  > --- trunk/freenet/src/freenet/support/DoublyLinkedList.java   2008-04-09
>  16:01:05 UTC (rev 19113)
>  > +++ trunk/freenet/src/freenet/support/DoublyLinkedList.java   2008-04-09
>  16:01:28 UTC (rev 19114)
>  > @@ -7,30 +7,54 @@
>  >   * @author tavin
>  >   */
>  >  public interface DoublyLinkedList {
>  > +    public abstract Object clone();
>  >
>  > -    public abstract Object clone();
>  > -
>  > +    /**
>  > +     * List element
>  > +     */
>  >      public interface Item {
>  > +             /**
>  > +              * Get next {@link Item}. May or may not return
>  > +              * <code>null</code> if this is the last <code>Item</code>.
>
>  IIRC we have a bumper stopper item, don't we? Hmm, but we do check for 
> null...
>

No, we have two different method / behavior  when that is the last item.
 1. DoublyLinkedList.getNext(Item)
     --> always return null

 2. DoublyLinkedList.Item.getNext() .
     --> return null    /or/   DoublyLinkedListImpl._tailptr

The second one involve some implementation details, hence the "may or may not"
phase. I did wondered why we need two different method.

Eventually, I want to migrate all DoublyLinkedList usage to
java.util.LinkedList / ArrayList / SortedSet. They are better tested
and optimized by jre vendors. But this migration would take some time.


Regards,
Daniel Cheng

Reply via email to