Package org.apache.fop.pdf
Class PDFNumsArray
java.lang.Object
org.apache.fop.pdf.PDFObject
org.apache.fop.pdf.PDFNumsArray
- All Implemented Interfaces:
PDFWritable
Class representing an "Nums" array object (for Number Trees).
-
Field Summary
FieldsModifier and TypeFieldDescriptionSorted Map holding the values of this array. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionget
(int key) Gets an entry.Gets an entry.private Object
indirectIfReq
(Object obj) This method provides conformance with the different PDF specs which require or recommend different types be used for Number Tree array values.int
length()
Returns the length of the arrayint
output
(OutputStream stream) Write the PDF represention of this objectvoid
Sets an entry.void
Sets an entry.private boolean
Determines whether a value object should be converted to an indirect reference for inclusion in a Number Tree array according to the PDF spec.Methods inherited from class org.apache.fop.pdf.PDFObject
contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getChildren, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setDocument, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString
-
Field Details
-
map
Sorted Map holding the values of this array.
-
-
Constructor Details
-
PDFNumsArray
Create a new, empty array object.- Parameters:
parent
- the object's parent if any
-
-
Method Details
-
length
public int length()Returns the length of the array- Returns:
- the length of the array
-
shouldConvertToRef
Determines whether a value object should be converted to an indirect reference for inclusion in a Number Tree array according to the PDF spec. PDF1.0 - 1.2 - Spec is silent on this subject (as Number Trees don't exist). PDF1.3 invalid input: '&' 1.4 - Values must be indirect object refs. PDF1.5 - Recommended: stream, dictionary, array, and string values be indirect object refs. PDF1.6 - 2.0 - Stream values must be indirect object refs. Recommended: dictionary, array, and string values be indirect object refs. Method signals for values that must be, and those recommended to be indirect object refs.- Parameters:
obj
- The object to be considered.- Returns:
- True iff the object should be converted.
-
indirectIfReq
This method provides conformance with the different PDF specs which require or recommend different types be used for Number Tree array values. Method indirects objects where indicated.- Parameters:
obj
- The object to be considered for indirection.- Returns:
- Either the object or a reference to the object.
-
put
Sets an entry.- Parameters:
key
- the key of the value to setobj
- the new value
-
put
Sets an entry.- Parameters:
key
- the key of the value to setobj
- the new value
-
get
Gets an entry.- Parameters:
key
- the key of requested value- Returns:
- the requested value
-
get
Gets an entry.- Parameters:
key
- the key of requested value- Returns:
- the requested value
-
output
Write the PDF represention of this object- Overrides:
output
in classPDFObject
- Parameters:
stream
- the stream to write the PDF to- Returns:
- the number of bytes written
- Throws:
IOException
- if there is an error writing to the stream
-