org.apache.poi.hwpf.model

## Class PAPFormattedDiskPage

- java.lang.Object
- - org.apache.poi.hwpf.model.FormattedDiskPage
  - - org.apache.poi.hwpf.model.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

- - ### Field Summary

    - ### Fields inherited from class org.apache.poi.hwpf.model.FormattedDiskPage

      `_crun, _fkp, _offset`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PAPFormattedDiskPage()`
    `PAPFormattedDiskPage(byte[] documentStream, byte[] dataStream, int offset, CharIndexTranslator translator)` Creates a PAPFormattedDiskPage from a 512 byte array

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `fill(java.util.List<PAPX> filler)` Fills the queue for writing.
    `protected byte[]` | `getGrpprl(int index)` Gets the papx grpprl for the paragraph at index in this fkp.
    `PAPX` | `getPAPX(int index)` Gets the PAPX at index.
    `java.util.List<PAPX>` | `getPAPXs()`
    `protected byte[]` | `toByteArray(java.io.ByteArrayOutputStream dataStream, CharIndexTranslator translator)` Creates a byte array representation of this data structure.

    - ### Methods inherited from class org.apache.poi.hwpf.model.FormattedDiskPage

      `getEnd, getStart, size`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.