PCJ API
Version 1.2

bak.pcj.adapter
Class ByteListToListAdapter

java.lang.Object
  extended byjava.util.AbstractCollection
      extended byjava.util.AbstractList
          extended bybak.pcj.adapter.ByteListToListAdapter
All Implemented Interfaces:
Collection, List

public class ByteListToListAdapter
extends AbstractList

This class represents adapters of byte lists to Java Collection Framework lists. The adapter is implemented as a wrapper around a primitive list. Thus, changes to the underlying list are reflected by this list and vice versa.

Since:
1.0
See Also:
ByteList, List

Field Summary
protected  ByteList list
          The underlying primitive list.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
ByteListToListAdapter(ByteList list)
          Creates a new adaption of a collection of byte values to a Java Collections Framework collection.
 
Method Summary
 void add(int index, Object o)
          Adds an element to this list at a specified index.
 boolean addAll(int index, Collection c)
          Adds all the elements of a specified collection to this list starting at a specified index.
 Object get(int index)
          Returns the element at a specified position in this list.
 ListIterator listIterator(int index)
          Returns a list iterator over this list, starting from a specified index.
 Object remove(int index)
          Removes the element at a specified index in this list.
 boolean removeAll(Collection c)
          Removes all the elements of a specified collection from this list.
 boolean retainAll(Collection c)
          Retains only the elements of a specified collection in this list.
 Object set(int index, Object o)
          Sets a specified element to a new value.
 int size()
          Returns the number of elements in this list.
 
Methods inherited from class java.util.AbstractList
add, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, removeRange, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, 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, toArray, toArray
 

Field Detail

list

protected ByteList list
The underlying primitive list.

Constructor Detail

ByteListToListAdapter

public ByteListToListAdapter(ByteList list)
Creates a new adaption of a collection of byte values to a Java Collections Framework collection.

Parameters:
list - the underlying primitive collection.
Throws:
NullPointerException - if collection is null.
Method Detail

addAll

public boolean addAll(int index,
                      Collection c)
Adds all the elements of a specified collection to this list starting at a specified index. The elements are inserted in the specified collection's iteration order. All elements from the specified index and forward are pushed to their successors' indices (c.size() indices). All elements are added to the underlying list.

This method is only overridden to work around a bug in AbstractList, which does not throw a NullPointerException when the argument is null and the list is empty.

Parameters:
index - the index at which to insert the elements of the specified collection. If index == size() the elements are appended to this list.
c - the collection whose elements to add to this list.
Returns:
true if this list was modified as a result of adding the elements of c; returns false otherwise.
Throws:
UnsupportedOperationException - if the operation is not supported by the underlying list.
NullPointerException - if c is null.
IndexOutOfBoundsException - if index does not denote a valid insertion position (valid: 0 - size()).
IllegalArgumentException - if an element of c is null.
ClassCastException - if an element of c is not of class Byte.

add

public void add(int index,
                Object o)
Adds an element to this list at a specified index. All elements from the specified index and forward are pushed to their successor's indices. The element is added to the underlying collection.

Parameters:
index - the index at which to add the element. If index == size() the element is appended to this list.
o - the element to add to this list.
Throws:
UnsupportedOperationException - if the operation is not supported by this list.
IndexOutOfBoundsException - if index does not denote a valid insertion position (valid: 0 - size()).
IllegalArgumentException - if o is null.
ClassCastException - if o is not of class Byte.

get

public Object get(int index)
Returns the element at a specified position in this list. The returned value will always be of class Byte.

Parameters:
index - the position of the element to return.
Returns:
the element at the specified position.
Throws:
IndexOutOfBoundsException - if index does not denote a valid index in this list.

listIterator

public ListIterator listIterator(int index)
Returns a list iterator over this list, starting from a specified index.

Parameters:
index - the index at which to begin the iteration.
Returns:
a list iterator over this list.
Throws:
IndexOutOfBoundsException - if index does not denote a valid iteration position (valid: 0 - size()).

remove

public Object remove(int index)
Removes the element at a specified index in this list. All elements following the removed element are pushed to their predecessor's indices. The element is removed from the underlying collection.

Parameters:
index - the index of the element to remove.
Throws:
UnsupportedOperationException - if the operation is not supported by the underlying list.
IndexOutOfBoundsException - if index does not denote a valid element position (valid: 0 - size()-1).

removeAll

public boolean removeAll(Collection c)
Removes all the elements of a specified collection from this list. The elements are removed from the underlying list.

This method is only overridden to work around a bug in AbstractList, which does not throw a NullPointerException when the argument is null and the list is empty. The bug is inherited from AbstractCollection.

Parameters:
c - the collection whose elements to remove from this collection.
Returns:
true if this list was modified as a result of removing the elements of c; returns false otherwise.
Throws:
UnsupportedOperationException - if the operation is not supported by the underlying collection.
NullPointerException - if c is null.

retainAll

public boolean retainAll(Collection c)
Retains only the elements of a specified collection in this list. The elements are removed from the underlying list.

This method is only overridden to work around a bug in AbstractList, which does not throw a NullPointerException when the argument is null and the list is empty. The bug is inherited from AbstractCollection.

Parameters:
c - the collection whose elements to retain in this collection.
Returns:
true if this list was modified as a result of removing the elements not contained in c; returns false otherwise.
Throws:
UnsupportedOperationException - if the operation is not supported by the underlying list.
NullPointerException - if c is null.

set

public Object set(int index,
                  Object o)
Sets a specified element to a new value. The corresponding element of the underlying list is set to the unwrapped value.

Parameters:
index - the index of the element whose value to set.
o - the new value of the specified element.
Returns:
the previous value of the element.
Throws:
UnsupportedOperationException - if the operation is not supported by the underlying list.
IndexOutOfBoundsException - if index does not denote a valid element position (valid: 0 - size()-1).
IllegalArgumentException - if o is null.
ClassCastException - if o is not of class Byte.

size

public int size()
Returns the number of elements in this list. The number of elements is the same as that of the underlying list.

Returns:
the number of elements in this list.

PCJ API
Version 1.2

Report a bug or request a feature.
Further information on the development and latest release of PCJ can be found at the project homepage.

Primitive Collections for Java is released under the GNU Lesser General Public License.
Copyright © 2002, 2003 Søren Bak. All Rights Reserved.

Hosted by SourceForge.net
SourceForge.net Logo