org.apache.pdfbox.pdmodel.common
Class COSArrayList<E>

java.lang.Object
  extended by org.apache.pdfbox.pdmodel.common.COSArrayList<E>
All Implemented Interfaces:
Iterable<E>, Collection<E>, List<E>

public class COSArrayList<E>
extends Object
implements List<E>

This is an implementation of a List that will sync its contents to a COSArray.

Version:
$Revision: 1.15 $
Author:
Ben Litchfield

Constructor Summary
COSArrayList()
          Default constructor.
COSArrayList(E actualObject, COSBase item, COSDictionary dictionary, COSName dictionaryKey)
          This is a really special constructor.
COSArrayList(E actualObject, COSBase item, COSDictionary dictionary, String dictionaryKey)
          Deprecated. use the COSArrayList(Object, COSBase, COSDictionary, COSName) method instead
COSArrayList(List<E> actualList, COSArray cosArray)
          Constructor.
 
Method Summary
 boolean add(E o)
          
 void add(int index, E element)
          
 boolean addAll(Collection<? extends E> c)
          
 boolean addAll(int index, Collection<? extends E> c)
          
 void clear()
          
 boolean contains(Object o)
          
 boolean containsAll(Collection<?> c)
          
static List<String> convertCOSNameCOSArrayToList(COSArray nameArray)
          This will take an array of COSName and return a COSArrayList of java.lang.String values.
static List<String> convertCOSStringCOSArrayToList(COSArray stringArray)
          This will take an array of COSString and return a COSArrayList of java.lang.String values.
static COSArray converterToCOSArray(List<?> cosObjectableList)
          This will convert a list of COSObjectables to an array list of COSBase objects.
static List<Float> convertFloatCOSArrayToList(COSArray floatArray)
          This will take an array of COSNumbers and return a COSArrayList of java.lang.Float values.
static List<Integer> convertIntegerCOSArrayToList(COSArray intArray)
          This will take an array of COSNumbers and return a COSArrayList of java.lang.Integer values.
static COSArray convertStringListToCOSNameCOSArray(List<String> strings)
          This will take an list of string objects and return a COSArray of COSName objects.
static COSArray convertStringListToCOSStringCOSArray(List<String> strings)
          This will take an list of string objects and return a COSArray of COSName objects.
 boolean equals(Object o)
          
 E get(int index)
          
 int hashCode()
          
 int indexOf(Object o)
          
 boolean isEmpty()
          
 Iterator<E> iterator()
          
 int lastIndexOf(Object o)
          
 ListIterator<E> listIterator()
          
 ListIterator<E> listIterator(int index)
          
 E remove(int index)
          
 boolean remove(Object o)
          
 boolean removeAll(Collection<?> c)
          
 boolean retainAll(Collection<?> c)
          
 E set(int index, E element)
          
 int size()
          
 List<E> subList(int fromIndex, int toIndex)
          
 Object[] toArray()
          
<X> X[]
toArray(X[] a)
          
 COSArray toList()
          This will return then underlying COSArray.
 String toString()
          
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

COSArrayList

public COSArrayList()
Default constructor.


COSArrayList

public COSArrayList(List<E> actualList,
                    COSArray cosArray)
Constructor.

Parameters:
actualList - The list of standard java objects
cosArray - The COS array object to sync to.

COSArrayList

public COSArrayList(E actualObject,
                    COSBase item,
                    COSDictionary dictionary,
                    COSName dictionaryKey)
This is a really special constructor. Sometimes the PDF spec says that a dictionary entry can either be a single item or an array of those items. But in the PDModel interface we really just want to always return a java.util.List. In the case were we get the list and never modify it we don't want to convert to COSArray and put one element, unless we append to the list. So here we are going to create this object with a single item instead of a list, but allow more items to be added and then converted to an array.

Parameters:
actualObject - The PDModel object.
item - The COS Model object.
dictionary - The dictionary that holds the item, and will hold the array if an item is added.
dictionaryKey - The key into the dictionary to set the item.

COSArrayList

public COSArrayList(E actualObject,
                    COSBase item,
                    COSDictionary dictionary,
                    String dictionaryKey)
Deprecated. use the COSArrayList(Object, COSBase, COSDictionary, COSName) method instead

Method Detail

size

public int size()

Specified by:
size in interface Collection<E>
Specified by:
size in interface List<E>

isEmpty

public boolean isEmpty()

Specified by:
isEmpty in interface Collection<E>
Specified by:
isEmpty in interface List<E>

contains

public boolean contains(Object o)

Specified by:
contains in interface Collection<E>
Specified by:
contains in interface List<E>

iterator

public Iterator<E> iterator()

Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface List<E>

toArray

public Object[] toArray()

Specified by:
toArray in interface Collection<E>
Specified by:
toArray in interface List<E>

toArray

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

Specified by:
toArray in interface Collection<E>
Specified by:
toArray in interface List<E>

add

public boolean add(E o)

Specified by:
add in interface Collection<E>
Specified by:
add in interface List<E>

remove

public boolean remove(Object o)

Specified by:
remove in interface Collection<E>
Specified by:
remove in interface List<E>

containsAll

public boolean containsAll(Collection<?> c)

Specified by:
containsAll in interface Collection<E>
Specified by:
containsAll in interface List<E>

addAll

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

Specified by:
addAll in interface Collection<E>
Specified by:
addAll in interface List<E>

addAll

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

Specified by:
addAll in interface List<E>

convertIntegerCOSArrayToList

public static List<Integer> convertIntegerCOSArrayToList(COSArray intArray)
This will take an array of COSNumbers and return a COSArrayList of java.lang.Integer values.

Parameters:
intArray - The existing integer Array.
Returns:
A list that is part of the core Java collections.

convertFloatCOSArrayToList

public static List<Float> convertFloatCOSArrayToList(COSArray floatArray)
This will take an array of COSNumbers and return a COSArrayList of java.lang.Float values.

Parameters:
floatArray - The existing float Array.
Returns:
The list of Float objects.

convertCOSNameCOSArrayToList

public static List<String> convertCOSNameCOSArrayToList(COSArray nameArray)
This will take an array of COSName and return a COSArrayList of java.lang.String values.

Parameters:
nameArray - The existing name Array.
Returns:
The list of String objects.

convertCOSStringCOSArrayToList

public static List<String> convertCOSStringCOSArrayToList(COSArray stringArray)
This will take an array of COSString and return a COSArrayList of java.lang.String values.

Parameters:
stringArray - The existing name Array.
Returns:
The list of String objects.

convertStringListToCOSNameCOSArray

public static COSArray convertStringListToCOSNameCOSArray(List<String> strings)
This will take an list of string objects and return a COSArray of COSName objects.

Parameters:
strings - A list of strings
Returns:
An array of COSName objects

convertStringListToCOSStringCOSArray

public static COSArray convertStringListToCOSStringCOSArray(List<String> strings)
This will take an list of string objects and return a COSArray of COSName objects.

Parameters:
strings - A list of strings
Returns:
An array of COSName objects

converterToCOSArray

public static COSArray converterToCOSArray(List<?> cosObjectableList)
This will convert a list of COSObjectables to an array list of COSBase objects.

Parameters:
cosObjectableList - A list of COSObjectable.
Returns:
A list of COSBase.

removeAll

public boolean removeAll(Collection<?> c)

Specified by:
removeAll in interface Collection<E>
Specified by:
removeAll in interface List<E>

retainAll

public boolean retainAll(Collection<?> c)

Specified by:
retainAll in interface Collection<E>
Specified by:
retainAll in interface List<E>

clear

public void clear()

Specified by:
clear in interface Collection<E>
Specified by:
clear in interface List<E>

equals

public boolean equals(Object o)

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

hashCode

public int hashCode()

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

get

public E get(int index)

Specified by:
get in interface List<E>

set

public E set(int index,
             E element)

Specified by:
set in interface List<E>

add

public void add(int index,
                E element)

Specified by:
add in interface List<E>

remove

public E remove(int index)

Specified by:
remove in interface List<E>

indexOf

public int indexOf(Object o)

Specified by:
indexOf in interface List<E>

lastIndexOf

public int lastIndexOf(Object o)

Specified by:
lastIndexOf in interface List<E>

listIterator

public ListIterator<E> listIterator()

Specified by:
listIterator in interface List<E>

listIterator

public ListIterator<E> listIterator(int index)

Specified by:
listIterator in interface List<E>

subList

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

Specified by:
subList in interface List<E>

toString

public String toString()

Overrides:
toString in class Object

toList

public COSArray toList()
This will return then underlying COSArray.

Returns:
the COSArray


Copyright © 2002-2014 The Apache Software Foundation. All Rights Reserved.