Class PAPFormattedDiskPage


  • @Internal
    public final class PAPFormattedDiskPage
    extends FormattedDiskPage
    Represents a PAP FKP. The style properties for paragraph and character runs are stored in fkps. There are PAP fkps for paragraph properties and CHP fkps for character run properties. The first part of the fkp for both CHP and PAP fkps consists of an array of 4 byte int offsets in the main stream for that Paragraph's or Character run's text. The ending offset is the next value in the array. For example, if an fkp has X number of Paragraph's stored in it then there are (x + 1) 4 byte ints in the beginning array. The number X is determined by the last byte in a 512 byte fkp. CHP and PAP fkps also store the compressed styles(grpprl) that correspond to the offsets on the front of the fkp. The offset of the grpprls is determined differently for CHP fkps and PAP fkps.
    Author:
    Ryan Ackley
    • Constructor Detail

      • PAPFormattedDiskPage

        public PAPFormattedDiskPage()
      • PAPFormattedDiskPage

        public PAPFormattedDiskPage​(byte[] documentStream,
                                    byte[] dataStream,
                                    int offset,
                                    CharIndexTranslator translator)
        Creates a PAPFormattedDiskPage from a 512 byte array
    • Method Detail

      • fill

        public void fill​(java.util.List<PAPX> filler)
        Fills the queue for writing.
        Parameters:
        filler - a List of PAPXs
      • getPAPX

        public PAPX getPAPX​(int index)
        Gets the PAPX at index.
        Parameters:
        index - The index to get the PAPX for.
        Returns:
        The PAPX at index.
      • getPAPXs

        public java.util.List<PAPX> getPAPXs()
      • getGrpprl

        protected byte[] getGrpprl​(int index)
        Gets the papx grpprl for the paragraph at index in this fkp.
        Specified by:
        getGrpprl in class FormattedDiskPage
        Parameters:
        index - The index of the papx to get.
        Returns:
        a papx grpprl.
      • toByteArray

        protected byte[] toByteArray​(java.io.ByteArrayOutputStream dataStream,
                                     CharIndexTranslator translator)
                              throws java.io.IOException
        Creates a byte array representation of this data structure. Suitable for writing to a Word document.
        Parameters:
        dataStream - required if PAPX is too big to fit in FKP
        Returns:
        A byte array representing this data structure.
        Throws:
        java.io.IOException - if an I/O error occurs.