com.google.common.collect
Class ForwardingList<E>

java.lang.Object
  extended by com.google.common.collect.ForwardingObject
      extended by com.google.common.collect.ForwardingCollection<E>
          extended by com.google.common.collect.ForwardingList<E>
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>

public abstract class ForwardingList<E>
extends ForwardingCollection<E>
implements java.util.List<E>

A list which forwards all its method calls to another list. Subclasses should override one or more methods to modify the behavior of the backing list as desired per the decorator pattern.

Author:
Mike Bostock
See Also:
Serialized Form

Constructor Summary
protected ForwardingList(java.util.List<E> delegate)
          Constructs a forwarding list that forwards to the provided delegate.
 
Method Summary
 void add(int index, E element)
           
 boolean addAll(int index, java.util.Collection<? extends E> elements)
           
protected  java.util.List<E> delegate()
          Returns the backing delegate object.
 boolean equals(java.lang.Object obj)
           
 E get(int index)
           
 int hashCode()
           
 int indexOf(java.lang.Object element)
           
 int lastIndexOf(java.lang.Object element)
           
 java.util.ListIterator<E> listIterator()
           
 java.util.ListIterator<E> listIterator(int index)
           
 E remove(int index)
           
 E set(int index, E element)
           
 java.util.List<E> subList(int fromIndex, int toIndex)
           
 
Methods inherited from class com.google.common.collect.ForwardingCollection
add, addAll, clear, contains, containsAll, containsAllImpl, containsImpl, isEmpty, iterator, remove, removeAll, removeAllImpl, removeImpl, retainAll, retainAllImpl, size, toArray, toArray, toArrayImpl, toArrayImpl, toStringImpl
 
Methods inherited from class com.google.common.collect.ForwardingObject
toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

ForwardingList

protected ForwardingList(java.util.List<E> delegate)
Constructs a forwarding list that forwards to the provided delegate.

Method Detail

delegate

protected java.util.List<E> delegate()
Description copied from class: ForwardingObject
Returns the backing delegate object. This method should be overridden to specify the correct return type. For example:
  @SuppressWarnings("unchecked")
  @Override protected Foo delegate() {
    return (Foo) super.delegate();
  }
This method should always return the same delegate instance that was passed to the constructor.

Overrides:
delegate in class ForwardingCollection<E>

add

public void add(int index,
                E element)
Specified by:
add in interface java.util.List<E>

addAll

public boolean addAll(int index,
                      java.util.Collection<? extends E> elements)
Specified by:
addAll in interface java.util.List<E>

get

public E get(int index)
Specified by:
get in interface java.util.List<E>

indexOf

public int indexOf(java.lang.Object element)
Specified by:
indexOf in interface java.util.List<E>

lastIndexOf

public int lastIndexOf(java.lang.Object element)
Specified by:
lastIndexOf in interface java.util.List<E>

listIterator

public java.util.ListIterator<E> listIterator()
Specified by:
listIterator in interface java.util.List<E>

listIterator

public java.util.ListIterator<E> listIterator(int index)
Specified by:
listIterator in interface java.util.List<E>

remove

public E remove(int index)
Specified by:
remove in interface java.util.List<E>

set

public E set(int index,
             E element)
Specified by:
set in interface java.util.List<E>

subList

public java.util.List<E> subList(int fromIndex,
                                 int toIndex)
Specified by:
subList in interface java.util.List<E>

equals

public boolean equals(java.lang.Object obj)
Specified by:
equals in interface java.util.Collection<E>
Specified by:
equals in interface java.util.List<E>
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<E>
Specified by:
hashCode in interface java.util.List<E>
Overrides:
hashCode in class java.lang.Object


Copyright © 2008 Google. All Rights Reserved.