org.modeshape.common.collection

## Class ImmutableAppendedList<T>

- java.lang.Object
- - org.modeshape.common.collection.ImmutableAppendedList<T>

- Type Parameters:
    `T` - the type of element
  All Implemented Interfaces:
    Iterable<T>, Collection<T>, List<T>

      @Immutable
      public class ImmutableAppendedList<T>
      extends Object
      implements List<T>

  An immutable `List` that consists of a single element appended to another existing `List`. The result is a list that contains all of the elements in the parent list as well as the last appended element, but while reusing the existing parent list and without having to create a copy of the parent list.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImmutableAppendedList(List<T> parent, T element)` Create an instance using the supplied parent list and an element to be virtually appended to the parent.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(int index, T element)`
    `boolean` | `add(T o)`
    `boolean` | `addAll(Collection<? extends T> c)`
    `boolean` | `addAll(int index, Collection<? extends T> c)`
    `void` | `clear()`
    `boolean` | `contains(Object o)`
    `boolean` | `containsAll(Collection<?> c)`
    `boolean` | `equals(Object obj)`
    `T` | `get(int index)`
    `int` | `hashCode()`
    `int` | `indexOf(Object o)`
    `boolean` | `isEmpty()`
    `Iterator<T>` | `iterator()`
    `int` | `lastIndexOf(Object o)`
    `ListIterator<T>` | `listIterator()`
    `ListIterator<T>` | `listIterator(int index)`
    `T` | `remove(int index)`
    `boolean` | `remove(Object o)`
    `boolean` | `removeAll(Collection<?> c)`
    `boolean` | `retainAll(Collection<?> c)`
    `T` | `set(int index, T element)`
    `int` | `size()`
    `List<T>` | `subList(int fromIndex, int toIndex)`
    `Object[]` | `toArray()`
    `<X> X[]` | `toArray(X[] a)`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ImmutableAppendedList

          public ImmutableAppendedList(List<T> parent,
                               T element)

      Create an instance using the supplied parent list and an element to be virtually appended to the parent. Note that the parent must be immutable (though this is not checked).
      Parameters:
        `parent` - the parent list
        `element` - the child element (may be null)
      Throws:
        `IllegalArgumentException` - if the reference to the parent list is null

  - ### Method Detail

    - #### contains

          public boolean contains(Object o)

      Specified by:
        `contains` in interface `Collection<T>`
      Specified by:
        `contains` in interface `List<T>`

    - #### containsAll

          public boolean containsAll(Collection<?> c)

      Specified by:
        `containsAll` in interface `Collection<T>`
      Specified by:
        `containsAll` in interface `List<T>`

    - #### get

          public T get(int index)

      Specified by:
        `get` in interface `List<T>`

    - #### indexOf

          public int indexOf(Object o)

      Specified by:
        `indexOf` in interface `List<T>`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `Collection<T>`
      Specified by:
        `isEmpty` in interface `List<T>`

    - #### iterator

          public Iterator<T> iterator()

      Specified by:
        `iterator` in interface `Iterable<T>`
      Specified by:
        `iterator` in interface `Collection<T>`
      Specified by:
        `iterator` in interface `List<T>`

    - #### lastIndexOf

          public int lastIndexOf(Object o)

      Specified by:
        `lastIndexOf` in interface `List<T>`

    - #### listIterator

          public ListIterator<T> listIterator()

      Specified by:
        `listIterator` in interface `List<T>`

    - #### listIterator

          public ListIterator<T> listIterator(int index)

      Specified by:
        `listIterator` in interface `List<T>`

    - #### size

          public int size()

      Specified by:
        `size` in interface `Collection<T>`
      Specified by:
        `size` in interface `List<T>`

    - #### subList

          public List<T> subList(int fromIndex,
                        int toIndex)

      Specified by:
        `subList` in interface `List<T>`

    - #### toArray

          public Object[] toArray()

      Specified by:
        `toArray` in interface `Collection<T>`
      Specified by:
        `toArray` in interface `List<T>`

    - #### toArray

          public <X> X[] toArray(X[] a)

      Specified by:
        `toArray` in interface `Collection<T>`
      Specified by:
        `toArray` in interface `List<T>`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `Collection<T>`
      Specified by:
        `hashCode` in interface `List<T>`
      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object obj)

      Specified by:
        `equals` in interface `Collection<T>`
      Specified by:
        `equals` in interface `List<T>`
      Overrides:
        `equals` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### add

          public void add(int index,
                 T element)

      Specified by:
        `add` in interface `List<T>`

    - #### add

          public boolean add(T o)

      Specified by:
        `add` in interface `Collection<T>`
      Specified by:
        `add` in interface `List<T>`

    - #### addAll

          public boolean addAll(Collection<? extends T> c)

      Specified by:
        `addAll` in interface `Collection<T>`
      Specified by:
        `addAll` in interface `List<T>`

    - #### addAll

          public boolean addAll(int index,
                       Collection<? extends T> c)

      Specified by:
        `addAll` in interface `List<T>`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `Collection<T>`
      Specified by:
        `clear` in interface `List<T>`

    - #### remove

          public boolean remove(Object o)

      Specified by:
        `remove` in interface `Collection<T>`
      Specified by:
        `remove` in interface `List<T>`

    - #### remove

          public T remove(int index)

      Specified by:
        `remove` in interface `List<T>`

    - #### removeAll

          public boolean removeAll(Collection<?> c)

      Specified by:
        `removeAll` in interface `Collection<T>`
      Specified by:
        `removeAll` in interface `List<T>`

    - #### retainAll

          public boolean retainAll(Collection<?> c)

      Specified by:
        `retainAll` in interface `Collection<T>`
      Specified by:
        `retainAll` in interface `List<T>`

    - #### set

          public T set(int index,
              T element)

      Specified by:
        `set` in interface `List<T>`

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.