edu.berkeley.nlp.lm.collections
Class BoundedList<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by edu.berkeley.nlp.lm.collections.BoundedList<E>
All Implemented Interfaces:
Iterable<E>, Collection<E>, List<E>

public class BoundedList<E>
extends AbstractList<E>

List which returns special boundary symbols when get() is called outside the range of the list.

Author:
Dan Klein

Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
BoundedList(List<E> list, E leftBoundary, E rightBoundary)
           
 
Method Summary
 E get(int index)
          Returns the object at the given index, provided the index is between 0 (inclusive) and size() (exclusive).
 int size()
           
 List<E> subList(int fromIndex, int toIndex)
           
 
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 

Constructor Detail

BoundedList

public BoundedList(List<E> list,
                   E leftBoundary,
                   E rightBoundary)
Method Detail

get

public E get(int index)
Returns the object at the given index, provided the index is between 0 (inclusive) and size() (exclusive). If the index is < 0, then a left boundary object is returned. If the index is >= size(), a right boundary object is returned. The default boundary objects are both null, unless other objects are specified on construction.

Specified by:
get in interface List<E>
Specified by:
get in class AbstractList<E>

size

public int size()
Specified by:
size in interface Collection<E>
Specified by:
size in interface List<E>
Specified by:
size in class AbstractCollection<E>

subList

public List<E> subList(int fromIndex,
                       int toIndex)
Specified by:
subList in interface List<E>
Overrides:
subList in class AbstractList<E>