Package org.apache.pdfbox.cos
Class COSArray
java.lang.Object
org.apache.pdfbox.cos.COSBase
org.apache.pdfbox.cos.COSArray
- All Implemented Interfaces:
Iterable<COSBase>,COSUpdateInfo,COSObjectable
An array of PDFBase objects as part of the PDF document.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCOSArray()Constructor.COSArray(List<? extends COSObjectable> cosObjectables) Use the given list to initialize the COSArray. -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(ICOSVisitor visitor) Visitor pattern double dispatch method.voidAdd the specified object at the ith location and push the rest to the right.voidThis will add an object to the array.voidadd(COSObjectable object) This will add an object to the array.voidaddAll(int i, Collection<COSBase> objectList) Add the specified object at the ith location and push the rest to the right.voidaddAll(Collection<COSBase> objectsList) This will add an object to the array.voidThis will add all objects to this array.voidclear()This will remove all of the objects in the collection.get(int index) This will get an object from the array.voidgetIndirectObjectKeys(Collection<COSObjectKey> indirectObjects) Collects all indirect objects numbers within this COSArray and all included dictionaries.voidgetIndirectObjectKeys(List<COSObjectKey> indirectObjects) Collects all indirect objects numbers within this COSArray and all included dictionaries.intgetInt(int index) Get the value of the array as an integer.intgetInt(int index, int defaultValue) Get the value of the array as an integer, return the default if it does not exist.getName(int index) Get the value of the array as a string.Get an entry in the array that is expected to be a COSName.getObject(int index) This will get an object from the array.getString(int index) Get the value of the array as a string.Get an entry in the array that is expected to be a COSName.Returns the currentCOSUpdateStateof thisCOSArray.voidgrowToSize(int size) This will add null values until the size of the array is at least as large as the parameter.voidgrowToSize(int size, COSBase object) This will add the object until the size of the array is at least as large as the parameter.intThis will return the index of the entry or -1 if it is not found.intindexOfObject(COSBase object) This will return the index of the entry or -1 if it is not found.iterator()Get access to the list.private COSBasestatic COSArrayofCOSIntegers(List<Integer> integer) This will take a list of integer objects and return a COSArray of COSInteger objects.static COSArrayofCOSNames(List<String> strings) This will take a list of string objects and return a COSArray of COSName objects.static COSArrayofCOSStrings(List<String> strings) This will take a list of string objects and return a COSArray of COSName objects.remove(int i) This will remove an element from the array.booleanThis will remove an element from the array.voidremoveAll(Collection<COSBase> objectsList) This will remove all of the objects in the collection.booleanThis will remove an element from the array.protected Collection<COSObjectKey> resetObjectKeys(Collection<COSObjectKey> indirectObjects) Resets the object key of all indirect objects numbers within this array and all included dictionaries and arrays.voidretainAll(Collection<COSBase> objectsList) This will retain all of the objects in the collection.voidset(int index, int intVal) This will set an object at a specific index.voidThis will set an object at a specific index.voidset(int index, COSObjectable object) This will set an object at a specific index.voidsetFloatArray(float[] value) Clear the current contents of the COSArray and set it with the float[].voidsetInt(int index, int value) Set the value in the array as an integer.voidSet the value in the array as a name.voidSet the value in the array as a string.intsize()This will get the size of this array.This will return a list of names if the COSArray consists of COSNames only.This will return a list of float values if the COSArray consists of COSNumbers only.This will return a list of int values if the COSArray consists of COSNumbers only.This will return a list of names if the COSArray consists of COSStrings only.float[]This will take an COSArray of numbers and convert it to a float[].toList()Return contents of COSArray as a Java List.toString()Methods inherited from class org.apache.pdfbox.cos.COSBase
getCOSObject, getKey, isDirect, setDirect, setKeyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.pdfbox.pdmodel.common.COSObjectable
getCOSObjectMethods inherited from interface org.apache.pdfbox.cos.COSUpdateInfo
isNeedToBeUpdated, setNeedToBeUpdated, toIncrementMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
objects
-
updateState
-
-
Constructor Details
-
COSArray
public COSArray()Constructor. -
COSArray
Use the given list to initialize the COSArray.- Parameters:
cosObjectables- the initial list of COSObjectables
-
-
Method Details
-
add
This will add an object to the array.- Parameters:
object- The object to add to the array.
-
add
This will add an object to the array.- Parameters:
object- The object to add to the array.
-
add
Add the specified object at the ith location and push the rest to the right.- Parameters:
i- The index to add at.object- The object to add at that index.
-
clear
public void clear()This will remove all of the objects in the collection. -
removeAll
This will remove all of the objects in the collection.- Parameters:
objectsList- The list of objects to remove from the collection.
-
retainAll
This will retain all of the objects in the collection.- Parameters:
objectsList- The list of objects to retain from the collection.
-
addAll
This will add an object to the array.- Parameters:
objectsList- The object to add to the array.
-
addAll
This will add all objects to this array.- Parameters:
objectList- The list of objects to add.
-
addAll
Add the specified object at the ith location and push the rest to the right.- Parameters:
i- The index to add at.objectList- The object to add at that index.
-
set
This will set an object at a specific index.- Parameters:
index- zero based index into array.object- The object to set.
-
set
public void set(int index, int intVal) This will set an object at a specific index.- Parameters:
index- zero based index into array.intVal- The object to set.
-
set
This will set an object at a specific index.- Parameters:
index- zero based index into array.object- The object to set.
-
getObject
This will get an object from the array. This will dereference the object. If the object is COSNull then null will be returned.- Parameters:
index- The index into the array to get the object.- Returns:
- The object at the requested index.
-
get
This will get an object from the array. This will NOT dereference the COS object.- Parameters:
index- The index into the array to get the object.- Returns:
- The object at the requested index.
-
getInt
public int getInt(int index) Get the value of the array as an integer.- Parameters:
index- The index into the list.- Returns:
- The value at that index or -1 if does not exist.
-
getInt
public int getInt(int index, int defaultValue) Get the value of the array as an integer, return the default if it does not exist.- Parameters:
index- The value of the array.defaultValue- The value to return if the value is null.- Returns:
- The value at the index or the defaultValue.
-
setInt
public void setInt(int index, int value) Set the value in the array as an integer.- Parameters:
index- The index into the array.value- The value to set.
-
setName
Set the value in the array as a name.- Parameters:
index- The index into the array.name- The name to set in the array.
-
getName
Get the value of the array as a string.- Parameters:
index- The index into the array.- Returns:
- The name converted to a string or null if it does not exist.
-
getName
Get an entry in the array that is expected to be a COSName.- Parameters:
index- The index into the array.defaultValue- The value to return if it is null.- Returns:
- The value at the index or defaultValue if none is found.
-
setString
Set the value in the array as a string.- Parameters:
index- The index into the array.string- The string to set in the array.
-
getString
Get the value of the array as a string.- Parameters:
index- The index into the array.- Returns:
- The string or null if it does not exist.
-
getString
Get an entry in the array that is expected to be a COSName.- Parameters:
index- The index into the array.defaultValue- The value to return if it is null.- Returns:
- The value at the index or defaultValue if none is found.
-
size
public int size()This will get the size of this array.- Returns:
- The number of elements in the array.
-
remove
This will remove an element from the array.- Parameters:
i- The index of the object to remove.- Returns:
- The object that was removed.
-
remove
This will remove an element from the array.- Parameters:
o- The object to remove.- Returns:
trueif the object was removed,falseotherwise
-
removeObject
This will remove an element from the array. This method will also remove a reference to the object.- Parameters:
o- The object to remove.- Returns:
trueif the object was removed,falseotherwise
-
toString
-
iterator
Get access to the list. -
indexOf
This will return the index of the entry or -1 if it is not found.- Parameters:
object- The object to search for.- Returns:
- The index of the object or -1.
-
indexOfObject
This will return the index of the entry or -1 if it is not found. This method will also find references to indirect objects.- Parameters:
object- The object to search for.- Returns:
- The index of the object or -1.
-
growToSize
public void growToSize(int size) This will add null values until the size of the array is at least as large as the parameter. If the array is already larger than the parameter then nothing is done.- Parameters:
size- The desired size of the array.
-
growToSize
This will add the object until the size of the array is at least as large as the parameter. If the array is already larger than the parameter then nothing is done.- Parameters:
size- The desired size of the array.object- The object to fill the array with.
-
accept
Visitor pattern double dispatch method.- Specified by:
acceptin classCOSBase- Parameters:
visitor- The object to notify when visiting this object.- Throws:
IOException- If an error occurs while visiting this object.
-
toFloatArray
public float[] toFloatArray()This will take an COSArray of numbers and convert it to a float[].- Returns:
- This COSArray as an array of float numbers.
-
setFloatArray
public void setFloatArray(float[] value) Clear the current contents of the COSArray and set it with the float[].- Parameters:
value- The new value of the float array.
-
toList
Return contents of COSArray as a Java List.- Returns:
- the COSArray as List
-
toCOSNameStringList
This will return a list of names if the COSArray consists of COSNames only.- Returns:
- the list of names of the COSArray of COSNames
-
toCOSStringStringList
This will return a list of names if the COSArray consists of COSStrings only.- Returns:
- the list of names of the COSArray of COSStrings
-
toCOSNumberFloatList
This will return a list of float values if the COSArray consists of COSNumbers only.- Returns:
- the list of float values of the COSArray of COSNumbers
-
toCOSNumberIntegerList
This will return a list of int values if the COSArray consists of COSNumbers only.- Returns:
- the list of int values of the COSArray of COSNumbers
-
ofCOSIntegers
This will take a list of integer objects and return a COSArray of COSInteger objects.- Parameters:
integer- A list of integers- Returns:
- An array of COSInteger objects
-
ofCOSNames
This will take a list of string objects and return a COSArray of COSName objects.- Parameters:
strings- A list of strings- Returns:
- An array of COSName objects
-
ofCOSStrings
This will take a list of string objects and return a COSArray of COSName objects.- Parameters:
strings- A list of strings- Returns:
- An array of COSName objects
-
getUpdateState
Returns the currentCOSUpdateStateof thisCOSArray.- Specified by:
getUpdateStatein interfaceCOSUpdateInfo- Returns:
- The current
COSUpdateStateof thisCOSArray. - See Also:
-
getIndirectObjectKeys
Collects all indirect objects numbers within this COSArray and all included dictionaries. It is used to avoid mixed up object numbers when importing an existing page to another pdf. Expert use only. You might run into an endless recursion if choosing a wrong starting point.- Parameters:
indirectObjects- a list of already found indirect objects.
-
getIndirectObjectKeys
Collects all indirect objects numbers within this COSArray and all included dictionaries. It is used to avoid mixed up object numbers when importing an existing page to another pdf. Expert use only. You might run into an endless recursion if choosing a wrong starting point.- Parameters:
indirectObjects- a collection of already found indirect objects.
-
resetObjectKeys
Resets the object key of all indirect objects numbers within this array and all included dictionaries and arrays. It is used to avoid overlapping object numbers when importing an existing page to another pdf. Expert use only. This might trigger some unwanted side effects.- Parameters:
indirectObjects- a collection of already found indirect objects.- Returns:
- the updated collection of indirect objects
-
maybeWrap
-