## org.openorb.util
Class MergeStack

    java.lang.Object
      |
      +--java.util.AbstractCollection
            |
            +--java.util.AbstractList
                  |
                  +--java.util.AbstractSequentialList
                        |
                        +--org.openorb.util.MergeStack

All Implemented Interfaces:
  java.util.Collection, java.util.List

public class MergeStack
extends java.util.AbstractSequentialList

A weak set. This does not prevent it's members being reclaimed by the garbage collector.

Version:
  $Revision: 1.12 $ $Date: 2002/07/14 19:12:39 $
Author:
  Chris Wood

Constructor Summary
`MergeStack()` Constructs a new, empty list.
`MergeStack(int allocInc)` Constructs a new, empty list with the given allocation increment.

Method Summary
`boolean` `add(java.lang.Object obj)` Appends the specified element to the end of this stack (optional operation).
`void` `addFirst(java.lang.Object obj)` Add a new element to the front of the stack.
`void` `addLast(java.lang.Object obj)` Add a new element to the end of the stack.
`void` `append(MergeStack next)` Append another MergeStack onto this one.
`void` `clear()` Removes all of the elements from this collection.
`java.lang.Object` `getFirst()` Get the first element in the list.
`java.lang.Object` `getLast()` Get the first element in the list.
`java.util.ListIterator` `listIterator(int index)` Returns a list iterator over the elements in this list (in proper sequence).
`java.lang.Object` `removeFirst()` Remove and return the first element in the list.
`java.lang.Object` `removeLast()` Remove and return the last element in the list.
`int` `size()` Returns the number of elements in this collection.

Methods inherited from class java.util.AbstractSequentialList
`add, addAll, get, iterator, remove, set`

Methods inherited from class java.util.AbstractList
`equals, hashCode, indexOf, lastIndexOf, listIterator, subList`

Methods inherited from class java.util.AbstractCollection
`addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.List
`addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray`

Constructor Detail

### MergeStack

    public MergeStack()

  Constructs a new, empty list.

### MergeStack

    public MergeStack(int allocInc)

  Constructs a new, empty list with the given allocation increment.
  Parameters:
    `allocInc` - The increment value for new allocations.

Method Detail

### clear

    public void clear()

  Removes all of the elements from this collection. The collection will be empty after this call returns.
  Overrides:
    `clear` in class `java.util.AbstractList`

### listIterator

    public java.util.ListIterator listIterator(int index)

  Returns a list iterator over the elements in this list (in proper sequence).
  Overrides:
    `listIterator` in class `java.util.AbstractSequentialList`
  Parameters:
    `index` - ???
  Returns:
    A list iterator over the elements in this list (in proper sequence).

### size

    public int size()

  Returns the number of elements in this collection. If the collection contains more than `Integer.MAX_VALUE` elements, returns `Integer.MAX_VALUE`.
  Overrides:
    `size` in class `java.util.AbstractCollection`
  Returns:
    the number of elements in this collection.

### add

    public boolean add(java.lang.Object obj)

  Appends the specified element to the end of this stack (optional operation).

  Overrides:
    `add` in class `java.util.AbstractList`
  Parameters:
    `obj` - The element to be appended to this stack.
  Returns:
    `true` (as per the general contract of `Collection.add`).

### getFirst

    public java.lang.Object getFirst()
                              throws java.util.NoSuchElementException

  Get the first element in the list.
  Returns:
    the first element from the list
  Throws:
    `java.util.NoSuchElementException` - if the list is empty.

### addFirst

    public void addFirst(java.lang.Object obj)

  Add a new element to the front of the stack.
  Parameters:
    `obj` - The object to add to the stack.

### removeFirst

    public java.lang.Object removeFirst()
                                 throws java.util.NoSuchElementException

  Remove and return the first element in the list.
  Returns:
    The first element from the list.
  Throws:
    `java.util.NoSuchElementException` - if the list is empty.

### getLast

    public java.lang.Object getLast()
                             throws java.util.NoSuchElementException

  Get the first element in the list.
  Returns:
    The first element from the list.
  Throws:
    `java.util.NoSuchElementException` - if the list is empty.

### addLast

    public void addLast(java.lang.Object obj)

  Add a new element to the end of the stack.
  Parameters:
    `obj` - The new element to add to the stack.

### removeLast

    public java.lang.Object removeLast()
                                throws java.util.NoSuchElementException

  Remove and return the last element in the list.
  Returns:
    the last element from the list
  Throws:
    `java.util.NoSuchElementException` - if the list is empty.

### append

    public void append(MergeStack next)

  Append another MergeStack onto this one. The other merge stack will end up empty.
  Parameters:
    `next` - Another MergeStack instance to append.