Class PDFNumsArray

java.lang.Object
org.apache.fop.pdf.PDFObject
org.apache.fop.pdf.PDFNumsArray
All Implemented Interfaces:
PDFWritable

public class PDFNumsArray extends PDFObject
Class representing an "Nums" array object (for Number Trees).
  • Field Details

  • Constructor Details

    • PDFNumsArray

      public PDFNumsArray(PDFObject parent)
      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

      private boolean shouldConvertToRef(PDFObject obj)
      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 & 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

      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. 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

      public void put(Integer key, Object obj)
      Sets an entry.
      Parameters:
      key - the key of the value to set
      obj - the new value
    • put

      public void put(int key, Object obj)
      Sets an entry.
      Parameters:
      key - the key of the value to set
      obj - the new value
    • get

      public Object get(Integer key)
      Gets an entry.
      Parameters:
      key - the key of requested value
      Returns:
      the requested value
    • get

      public Object get(int key)
      Gets an entry.
      Parameters:
      key - the key of requested value
      Returns:
      the requested value
    • output

      public int output(OutputStream stream) throws IOException
      Write the PDF represention of this object
      Overrides:
      output in class PDFObject
      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