org.apache.poi.hwpf.model

## Class FormattedDiskPage

- java.lang.Object
- - org.apache.poi.hwpf.model.FormattedDiskPage

- Direct Known Subclasses:
    CHPFormattedDiskPage, PAPFormattedDiskPage

      @Internal
      public abstract class FormattedDiskPage
      extends java.lang.Object

  Represents an FKP data structure. This data structure is used to store the grpprls of the paragraph and character properties of the document. A grpprl is a list of sprms(decompression operations) to perform on a parent style. 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
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `_crun`
    `protected byte[]` | `_fkp`
    `protected int` | `_offset`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FormattedDiskPage()`
    `FormattedDiskPage(byte[] documentStream, int offset)` Uses a 512-byte array to create a FKP

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `getEnd(int index)` Used to get the end of the text corresponding to a grpprl in this fkp.
    `protected abstract byte[]` | `getGrpprl(int index)`
    `protected int` | `getStart(int index)` Used to get a text offset corresponding to a grpprl in this fkp.
    `int` | `size()` Used to get the total number of grrprl's stored int this FKP

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

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

- - ### Field Detail

    - #### _fkp

          protected byte[] _fkp

    - #### _crun

          protected int _crun

    - #### _offset

          protected int _offset

  - ### Constructor Detail

    - #### FormattedDiskPage

          public FormattedDiskPage()

    - #### FormattedDiskPage

          public FormattedDiskPage(byte[] documentStream,
                                   int offset)

      Uses a 512-byte array to create a FKP

  - ### Method Detail

    - #### getStart

          protected int getStart(int index)

      Used to get a text offset corresponding to a grpprl in this fkp.
      Parameters:
        `index` - The index of the property in this FKP
      Returns:
        an int representing an offset in the "WordDocument" stream

    - #### getEnd

          protected int getEnd(int index)

      Used to get the end of the text corresponding to a grpprl in this fkp.
      Parameters:
        `index` - The index of the property in this fkp.
      Returns:
        an int representing an offset in the "WordDocument" stream

    - #### size

          public int size()

      Used to get the total number of grrprl's stored int this FKP
      Returns:
        The number of grpprls in this FKP

    - #### getGrpprl

          protected abstract byte[] getGrpprl(int index)

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