Class PDFXRefStream

  • All Implemented Interfaces:
    PDFXRef

    public class PDFXRefStream
    extends java.lang.Object
    implements PDFXRef
    • Field Detail

      • streamData

        private final java.util.Map<java.lang.Long,​java.lang.Object> streamData
      • objectNumbers

        private final java.util.Set<java.lang.Long> objectNumbers
      • size

        private long size
    • Constructor Detail

      • PDFXRefStream

        public PDFXRefStream​(COSDocument cosDocument)
        Create a fresh XRef stream like for a fresh file or an incremental update.
        Parameters:
        cosDocument -
    • Method Detail

      • getStream

        public COSStream getStream()
                            throws java.io.IOException
        Returns the stream of the XRef.
        Returns:
        the XRef stream
        Throws:
        java.io.IOException - if something went wrong
      • addTrailerInfo

        public void addTrailerInfo​(COSDictionary trailerDict)
        Copy all Trailer Information to this file.
        Parameters:
        trailerDict - dictionary to be added as trailer info
      • addEntry

        public void addEntry​(COSWriterXRefEntry entry)
        Add an new entry to the XRef stream.
        Parameters:
        entry - new entry to be added
      • getWEntry

        private int[] getWEntry()
        determines the minimal length required for all the lengths.
        Returns:
        the length information
      • setSize

        public void setSize​(long streamSize)
        Set the size of the XRef stream.
        Parameters:
        streamSize - size to bet set as stream size
      • getIndexEntry

        private java.util.List<java.lang.Long> getIndexEntry()
      • writeNumber

        private void writeNumber​(java.io.OutputStream os,
                                 long number,
                                 int bytes)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • writeStreamData

        private void writeStreamData​(java.io.OutputStream os,
                                     int[] w)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • getObject

        public COSObject getObject​(int objectNumber)
        Returns the object referenced by the given object number.
        Specified by:
        getObject in interface PDFXRef
        Parameters:
        objectNumber - the object to be returned
        Returns:
        the object corresponding to the given object number