org.apache.poi.hwpf.model
Class FormattedDiskPage

java.lang.Object
  extended by 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
protected  int _crun
           
protected  byte[] _fkp
           
protected  int _offset
           
 
Constructor Summary
FormattedDiskPage()
           
FormattedDiskPage(byte[] documentStream, int offset)
          Uses a 512-byte array to create a FKP
 
Method Summary
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 2012 The Apache Software Foundation or its licensors, as applicable.