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>`
      See Also:
        `List.contains(java.lang.Object)`

    - #### containsAll

          public boolean containsAll(Collection<?> c)

      Specified by:
        `containsAll` in interface `Collection<T>`
      Specified by:
        `containsAll` in interface `List<T>`
      See Also:
        `List.containsAll(java.util.Collection)`

    - #### get

          public T get(int index)

      Specified by:
        `get` in interface `List<T>`
      See Also:
        `List.get(int)`

    - #### indexOf

          public int indexOf(Object o)

      Specified by:
        `indexOf` in interface `List<T>`
      See Also:
        `List.indexOf(java.lang.Object)`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `Collection<T>`
      Specified by:
        `isEmpty` in interface `List<T>`
      See Also:
        `List.isEmpty()`

    - #### 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>`
      See Also:
        `List.iterator()`

    - #### lastIndexOf

          public int lastIndexOf(Object o)

      Specified by:
        `lastIndexOf` in interface `List<T>`
      See Also:
        `List.lastIndexOf(java.lang.Object)`

    - #### listIterator

          public ListIterator<T> listIterator()

      Specified by:
        `listIterator` in interface `List<T>`
      See Also:
        `List.listIterator()`

    - #### listIterator

          public ListIterator<T> listIterator(int index)

      Specified by:
        `listIterator` in interface `List<T>`
      See Also:
        `List.listIterator(int)`

    - #### size

          public int size()

      Specified by:
        `size` in interface `Collection<T>`
      Specified by:
        `size` in interface `List<T>`
      See Also:
        `List.size()`

    - #### subList

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

      Specified by:
        `subList` in interface `List<T>`
      See Also:
        `List.subList(int, int)`

    - #### toArray

          public Object[] toArray()

      Specified by:
        `toArray` in interface `Collection<T>`
      Specified by:
        `toArray` in interface `List<T>`
      See Also:
        `List.toArray()`

    - #### toArray

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

      Specified by:
        `toArray` in interface `Collection<T>`
      Specified by:
        `toArray` in interface `List<T>`
      See Also:
        `java.util.List#toArray(T[])`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `Collection<T>`
      Specified by:
        `hashCode` in interface `List<T>`
      Overrides:
        `hashCode` in class `Object`
      See Also:
        `Object.hashCode()`

    - #### 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`
      See Also:
        `Object.equals(java.lang.Object)`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`
      See Also:
        `Object.toString()`

    - #### add

          public void add(int index,
                 T element)

      Specified by:
        `add` in interface `List<T>`
      See Also:
        `List.add(int, Object)`

    - #### add

          public boolean add(T o)

      Specified by:
        `add` in interface `Collection<T>`
      Specified by:
        `add` in interface `List<T>`
      See Also:
        `List.add(Object)`

    - #### addAll

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

      Specified by:
        `addAll` in interface `Collection<T>`
      Specified by:
        `addAll` in interface `List<T>`
      See Also:
        `List.addAll(java.util.Collection)`

    - #### addAll

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

      Specified by:
        `addAll` in interface `List<T>`
      See Also:
        `List.addAll(int, java.util.Collection)`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `Collection<T>`
      Specified by:
        `clear` in interface `List<T>`
      See Also:
        `List.clear()`

    - #### remove

          public boolean remove(Object o)

      Specified by:
        `remove` in interface `Collection<T>`
      Specified by:
        `remove` in interface `List<T>`
      See Also:
        `List.remove(java.lang.Object)`

    - #### remove

          public T remove(int index)

      Specified by:
        `remove` in interface `List<T>`
      See Also:
        `List.remove(int)`

    - #### removeAll

          public boolean removeAll(Collection<?> c)

      Specified by:
        `removeAll` in interface `Collection<T>`
      Specified by:
        `removeAll` in interface `List<T>`
      See Also:
        `List.removeAll(java.util.Collection)`

    - #### retainAll

          public boolean retainAll(Collection<?> c)

      Specified by:
        `retainAll` in interface `Collection<T>`
      Specified by:
        `retainAll` in interface `List<T>`
      See Also:
        `List.retainAll(java.util.Collection)`

    - #### set

          public T set(int index,
              T element)

      Specified by:
        `set` in interface `List<T>`
      See Also:
        `List.set(int, java.lang.Object)`

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