Package org.apache.pdfbox.pdmodel.common
Class PDNumberTreeNode
java.lang.Object
org.apache.pdfbox.pdmodel.common.PDNumberTreeNode
- All Implemented Interfaces:
COSObjectable
This class represents a PDF Number tree. See the PDF Reference 1.7 section
7.9.7 for more details.
- Version:
- $Revision: 1.4 $
- Author:
- Ben Litchfield, Igor Podolskiy
-
Constructor Summary
ConstructorsConstructorDescriptionPDNumberTreeNode
(Class<? extends COSObjectable> valueClass) Constructor.PDNumberTreeNode
(COSDictionary dict, Class<? extends COSObjectable> valueClass) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected COSObjectable
convertCOSToPD
(COSBase base) Method to convert the COS value in the name tree to the PD Model object.protected PDNumberTreeNode
Create a child node object.Convert this standard java object to a COS object.Convert this standard java object to a COS object.getKids()
Return the children of this node.Get the lowest value for a key in the name map.This will return a map of numbers.Get the highest value for a key in the name map.Returns the value corresponding to an index in the number tree.void
setKids
(List<? extends PDNumberTreeNode> kids) Set the children of this number tree.void
setNumbers
(Map<Integer, ? extends COSObjectable> numbers) Set the names of for this node.
-
Constructor Details
-
PDNumberTreeNode
Constructor.- Parameters:
valueClass
- The PD Model type of object that is the value.
-
PDNumberTreeNode
Constructor.- Parameters:
dict
- The dictionary that holds the name information.valueClass
- The PD Model type of object that is the value.
-
-
Method Details
-
getCOSObject
Convert this standard java object to a COS object.- Specified by:
getCOSObject
in interfaceCOSObjectable
- Returns:
- The cos object that matches this Java object.
-
getCOSDictionary
Convert this standard java object to a COS object.- Returns:
- The cos object that matches this Java object.
-
getKids
Return the children of this node. This list will contain PDNumberTreeNode objects.- Returns:
- The list of children or null if there are no children.
-
setKids
Set the children of this number tree.- Parameters:
kids
- The children of this number tree.
-
getValue
Returns the value corresponding to an index in the number tree.- Parameters:
index
- The index in the number tree.- Returns:
- The value corresponding to the index.
- Throws:
IOException
- If there is a problem creating the values.
-
getNumbers
This will return a map of numbers. The key will be a java.lang.Integer, the value will depend on where this class is being used.- Returns:
- A map of COS objects.
- Throws:
IOException
- If there is a problem creating the values.
-
convertCOSToPD
Method to convert the COS value in the name tree to the PD Model object. The default implementation will simply use reflection to create the correct object type. Subclasses can do whatever they want.- Parameters:
base
- The COS object to convert.- Returns:
- The converted PD Model object.
- Throws:
IOException
- If there is an error during creation.
-
createChildNode
Create a child node object.- Parameters:
dic
- The dictionary for the child node object to refer to.- Returns:
- The new child node object.
-
setNumbers
Set the names of for this node. The keys should be java.lang.String and the values must be a COSObjectable. This method will set the appropriate upper and lower limits based on the keys in the map.- Parameters:
numbers
- The map of names to objects.
-
getUpperLimit
Get the highest value for a key in the name map.- Returns:
- The highest value for a key in the map.
-
getLowerLimit
Get the lowest value for a key in the name map.- Returns:
- The lowest value for a key in the map.
-