Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.8.2 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.util
Class LinkedListNode<E>

    java.lang.Object
      org.jivesoftware.util.LinkedListNode<E>

    public class LinkedListNode<E>

extends Object

Doubly linked node in a LinkedList. Most LinkedList implementations keep the equivalent of this class private. We make it public so that references to each node in the list can be maintained externally.

Exposing this class lets us make remove operations very fast. Remove is built into this class and only requires two reference reassignments. If remove existed in the main LinkedList class, a linear scan would have to be performed to find the correct node to delete.

The linked list implementation was specifically written for the Jive cache system. While it can be used as a general purpose linked list, for most applications, it is more suitable to use the linked list that is part of the Java Collections package.

Author:
  Jive Software
See Also:
  `LinkedList`

Field Summary
`LinkedListNode<E>` | `next`
`E` | `object`
`LinkedListNode<E>` | `previous`
`long` | `timestamp` This class is further customized for the CoolServlets cache system.

Constructor Summary
`LinkedListNode()` Constructs an self-referencing node.
`LinkedListNode(E object, LinkedListNode<E> next, LinkedListNode<E> previous)` Constructs a new linked list node.

Method Summary
`LinkedListNode<E>` | `insert(LinkedListNode<E> next, LinkedListNode<E> previous)` Inserts this node into the linked list that it will be a part of.
`LinkedListNode<E>` | `remove()` Removes this node from the linked list that it was a part of.
`String` | `toString()` Returns a String representation of the linked list node by calling the toString method of the node's object.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### previous

    public LinkedListNode<E> previous

### next

    public LinkedListNode<E> next

### object

    public E object

### timestamp

    public long timestamp

  This class is further customized for the CoolServlets cache system. It maintains a timestamp of when a Cacheable object was first added to cache. Timestamps are stored as long values and represent the number of milleseconds passed since January 1, 1970 00:00:00.000 GMT.

  The creation timestamp is used in the case that the cache has a maximum lifetime set. In that case, when [current time] - [creation time] > [max lifetime], the object will be deleted from cache.

Constructor Detail

### LinkedListNode

    public LinkedListNode()

  Constructs an self-referencing node. This node acts as a start/end sentinel when traversing nodes in a LinkedList.

### LinkedListNode

    public LinkedListNode(E object,
                          LinkedListNode<E> next,
                          LinkedListNode<E> previous)

  Constructs a new linked list node.

  Parameters:
    `object` - the Object that the node represents.
    `next` - a reference to the next LinkedListNode in the list.
    `previous` - a reference to the previous LinkedListNode in the list.

Method Detail

### remove

    public LinkedListNode<E> remove()

  Removes this node from the linked list that it was a part of.

  Returns:
    This node; next and previous references dropped

### insert

    public LinkedListNode<E> insert(LinkedListNode<E> next,
                                    LinkedListNode<E> previous)

  Inserts this node into the linked list that it will be a part of.

  Returns:
    This node, updated to reflect previous/next changes

### toString

    public String toString()

  Returns a String representation of the linked list node by calling the toString method of the node's object.

  Overrides:
    `toString` in class `Object`
  Returns:
    a String representation of the LinkedListNode.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.8.2 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.