org.apache.poi.hwpf.model

## Class FileInformationBlock

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

-     @Internal
      public final class FileInformationBlock
      extends java.lang.Object

  The File Information Block (FIB). Holds pointers to various bits of the file, and lots of flags which specify properties of the document.

  - The `FibBase` class, holds the first 32 bytes.
  - The next part, the fibRgW / FibRgW97, is handled by the `FibRgW97`.
  - The next part, the fibRgLw / FibRgLw97, is handled by the `FibRgLw97`.
  - Finally, the rest of the fields are handled by the `FIBFieldHandler`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static POILogger` | `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileInformationBlock(byte[] mainDocument)` Creates a new instance of FileInformationBlock

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clearOffsetsSizes()`
    `void` | `fillVariableFields(byte[] mainDocument, byte[] tableStream)`
    `int` | `getCbMac()` How many bytes of the main stream contain real data.
    `int` | `getFcClx()`
    `int` | `getFcDggInfo()`
    `int` | `getFcDop()`
    `int` | `getFcPlcfbkf()`
    `int` | `getFcPlcfbkl()`
    `int` | `getFcPlcfbteChpx()`
    `int` | `getFcPlcfbtePapx()`
    `int` | `getFcPlcffldAtn()` Deprecated.
    `int` | `getFcPlcffldEdn()` Deprecated.
    `int` | `getFcPlcffldFtn()` Deprecated.
    `int` | `getFcPlcffldHdr()` Deprecated.
    `int` | `getFcPlcffldHdrtxbx()` Deprecated.
    `int` | `getFcPlcffldMom()` Deprecated.
    `int` | `getFcPlcffldTxbx()` Deprecated.
    `int` | `getFcPlcfLst()` Deprecated.
    `int` | `getFcPlcfsed()`
    `int` | `getFcPlcspaMom()` Deprecated.
    `int` | `getFcPlfLfo()` An unsigned integer that specifies an offset in the Table Stream.
    `int` | `getFcPlfLst()` An unsigned integer that specifies an offset in the Table Stream.
    `int` | `getFcStshf()`
    `int` | `getFcSttbfbkmk()`
    `int` | `getFcSttbfffn()`
    `int` | `getFcSttbfRMark()`
    `int` | `getFcSttbSavedBy()`
    `FibBase` | `getFibBase()`
    `int` | `getFieldsPlcfLength(FieldsDocumentPart part)`
    `int` | `getFieldsPlcfOffset(FieldsDocumentPart part)`
    `int` | `getFSPAPlcfLength(FSPADocumentPart part)`
    `int` | `getFSPAPlcfOffset(FSPADocumentPart part)`
    `int` | `getLcbClx()`
    `int` | `getLcbDggInfo()`
    `int` | `getLcbDop()`
    `int` | `getLcbPlcfbkf()`
    `int` | `getLcbPlcfbkl()`
    `int` | `getLcbPlcfbteChpx()`
    `int` | `getLcbPlcfbtePapx()`
    `int` | `getLcbPlcffldAtn()` Deprecated.
    `int` | `getLcbPlcffldEdn()` Deprecated.
    `int` | `getLcbPlcffldFtn()` Deprecated.
    `int` | `getLcbPlcffldHdr()` Deprecated.
    `int` | `getLcbPlcffldHdrtxbx()` Deprecated.
    `int` | `getLcbPlcffldMom()` Deprecated.
    `int` | `getLcbPlcffldTxbx()` Deprecated.
    `int` | `getLcbPlcfLst()` Deprecated.
    `int` | `getLcbPlcfsed()`
    `int` | `getLcbPlcspaMom()` Deprecated.
    `int` | `getLcbPlfLfo()`
    `int` | `getLcbPlfLst()`
    `int` | `getLcbStshf()`
    `int` | `getLcbSttbfbkmk()`
    `int` | `getLcbSttbfffn()`
    `int` | `getLcbSttbfRMark()`
    `int` | `getLcbSttbSavedBy()`
    `int` | `getModifiedHigh()`
    `int` | `getModifiedLow()`
    `int` | `getNFib()`
    `int` | `getNotesDescriptorsOffset(NoteType noteType)`
    `int` | `getNotesDescriptorsSize(NoteType noteType)`
    `int` | `getNotesTextPositionsOffset(NoteType noteType)`
    `int` | `getNotesTextPositionsSize(NoteType noteType)`
    `int` | `getPlcfHddOffset()` Return the offset to the PlcfHdd, in the table stream, i.e.
    `int` | `getPlcfHddSize()` Return the size of the PlcfHdd, in the table stream, i.e.
    `int` | `getSize()`
    `int` | `getSubdocumentTextStreamLength(SubdocumentType type)`
    `void` | `setCbMac(int cbMac)` Updates the count of the number of bytes in the main stream which contain real data
    `void` | `setFcClx(int fcClx)`
    `void` | `setFcDop(int fcDop)`
    `void` | `setFcPlcfbkf(int offset)`
    `void` | `setFcPlcfbkl(int offset)`
    `void` | `setFcPlcfbteChpx(int fcPlcfBteChpx)`
    `void` | `setFcPlcfbtePapx(int fcPlcfBtePapx)`
    `void` | `setFcPlcffldAtn(int offset)` Deprecated.
    `void` | `setFcPlcffldEdn(int offset)` Deprecated.
    `void` | `setFcPlcffldFtn(int offset)` Deprecated.
    `void` | `setFcPlcffldHdr(int offset)` Deprecated.
    `void` | `setFcPlcffldHdrtxbx(int offset)` Deprecated.
    `void` | `setFcPlcffldMom(int offset)` Deprecated.
    `void` | `setFcPlcffldTxbx(int offset)` Deprecated.
    `void` | `setFcPlcfLst(int fcPlcfLst)` Deprecated.
    `void` | `setFcPlcfsed(int fcPlcfSed)`
    `void` | `setFcPlfLfo(int fcPlfLfo)`
    `void` | `setFcPlfLst(int fcPlfLst)`
    `void` | `setFcStshf(int fcStshf)`
    `void` | `setFcSttbfbkmk(int offset)`
    `void` | `setFcSttbfffn(int fcSttbFffn)`
    `void` | `setFcSttbfRMark(int fcSttbfRMark)`
    `void` | `setFcSttbSavedBy(int fcSttbSavedBy)`
    `void` | `setFieldsPlcfLength(FieldsDocumentPart part, int length)`
    `void` | `setFieldsPlcfOffset(FieldsDocumentPart part, int offset)`
    `void` | `setFSPAPlcfLength(FSPADocumentPart part, int length)`
    `void` | `setFSPAPlcfOffset(FSPADocumentPart part, int offset)`
    `void` | `setLcbClx(int lcbClx)`
    `void` | `setLcbDop(int lcbDop)`
    `void` | `setLcbPlcfbkf(int length)`
    `void` | `setLcbPlcfbkl(int length)`
    `void` | `setLcbPlcfbteChpx(int lcbPlcfBteChpx)`
    `void` | `setLcbPlcfbtePapx(int lcbPlcfBtePapx)`
    `void` | `setLcbPlcffldAtn(int size)` Deprecated.
    `void` | `setLcbPlcffldEdn(int size)` Deprecated.
    `void` | `setLcbPlcffldFtn(int size)` Deprecated.
    `void` | `setLcbPlcffldHdr(int size)` Deprecated.
    `void` | `setLcbPlcffldHdrtxbx(int size)` Deprecated.
    `void` | `setLcbPlcffldMom(int size)` Deprecated.
    `void` | `setLcbPlcffldTxbx(int size)` Deprecated.
    `void` | `setLcbPlcfLst(int lcbPlcfLst)` Deprecated.
    `void` | `setLcbPlcfsed(int lcbPlcfSed)`
    `void` | `setLcbPlfLfo(int lcbPlfLfo)`
    `void` | `setLcbPlfLst(int lcbPlfLst)`
    `void` | `setLcbStshf(int lcbStshf)`
    `void` | `setLcbSttbfbkmk(int length)`
    `void` | `setLcbSttbfffn(int lcbSttbFffn)`
    `void` | `setLcbSttbfRMark(int lcbSttbfRMark)`
    `void` | `setLcbSttbSavedBy(int fcSttbSavedBy)`
    `void` | `setModifiedHigh(int modifiedHigh)`
    `void` | `setModifiedLow(int modifiedLow)`
    `void` | `setNotesDescriptorsOffset(NoteType noteType, int offset)`
    `void` | `setNotesDescriptorsSize(NoteType noteType, int offset)`
    `void` | `setNotesTextPositionsOffset(NoteType noteType, int offset)`
    `void` | `setNotesTextPositionsSize(NoteType noteType, int offset)`
    `void` | `setPlcfHddOffset(int fcPlcfHdd)`
    `void` | `setPlcfHddSize(int lcbPlcfHdd)`
    `void` | `setSubdocumentTextStreamLength(SubdocumentType type, int length)`
    `java.lang.String` | `toString()`
    `void` | `writeTo(byte[] mainStream, java.io.ByteArrayOutputStream tableStream)`

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

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

- - ### Field Detail

    - #### logger

          public static final POILogger logger

  - ### Constructor Detail

    - #### FileInformationBlock

          public FileInformationBlock(byte[] mainDocument)

      Creates a new instance of FileInformationBlock

  - ### Method Detail

    - #### fillVariableFields

          public void fillVariableFields(byte[] mainDocument,
                                         byte[] tableStream)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getNFib

          public int getNFib()

    - #### getFcDop

          public int getFcDop()

    - #### setFcDop

          public void setFcDop(int fcDop)

    - #### getLcbDop

          public int getLcbDop()

    - #### setLcbDop

          public void setLcbDop(int lcbDop)

    - #### getFcStshf

          public int getFcStshf()

    - #### getLcbStshf

          public int getLcbStshf()

    - #### setFcStshf

          public void setFcStshf(int fcStshf)

    - #### setLcbStshf

          public void setLcbStshf(int lcbStshf)

    - #### getFcClx

          public int getFcClx()

    - #### getLcbClx

          public int getLcbClx()

    - #### setFcClx

          public void setFcClx(int fcClx)

    - #### setLcbClx

          public void setLcbClx(int lcbClx)

    - #### getFcPlcfbteChpx

          public int getFcPlcfbteChpx()

    - #### getLcbPlcfbteChpx

          public int getLcbPlcfbteChpx()

    - #### setFcPlcfbteChpx

          public void setFcPlcfbteChpx(int fcPlcfBteChpx)

    - #### setLcbPlcfbteChpx

          public void setLcbPlcfbteChpx(int lcbPlcfBteChpx)

    - #### getFcPlcfbtePapx

          public int getFcPlcfbtePapx()

    - #### getLcbPlcfbtePapx

          public int getLcbPlcfbtePapx()

    - #### setFcPlcfbtePapx

          public void setFcPlcfbtePapx(int fcPlcfBtePapx)

    - #### setLcbPlcfbtePapx

          public void setLcbPlcfbtePapx(int lcbPlcfBtePapx)

    - #### getFcPlcfsed

          public int getFcPlcfsed()

    - #### getLcbPlcfsed

          public int getLcbPlcfsed()

    - #### setFcPlcfsed

          public void setFcPlcfsed(int fcPlcfSed)

    - #### setLcbPlcfsed

          public void setLcbPlcfsed(int lcbPlcfSed)

    - #### getFcPlcfLst

          @Deprecated
          public int getFcPlcfLst()

      Deprecated.

    - #### getFcPlfLst

          public int getFcPlfLst()

      An unsigned integer that specifies an offset in the Table Stream. A PlfLst that contains list formatting information begins at this offset. An array of LVLs is appended to the PlfLst. lcbPlfLst does not account for the array of LVLs. The size of the array of LVLs is specified by the LSTFs in PlfLst. For each LSTF whose fSimpleList is set to 0x1, there is one LVL in the array of LVLs that specifies the level formatting of the single level in the list which corresponds to the LSTF. And, for each LSTF whose fSimpleList is set to 0x0, there are 9 LVLs in the array of LVLs that specify the level formatting of the respective levels in the list which corresponds to the LSTF. This array of LVLs is in the same respective order as the LSTFs in PlfLst. If lcbPlfLst is 0, fcPlfLst is undefined and MUST be ignored.

      Quote from "[MS-DOC] -- v20110315, Word (.doc) Binary File Format; page 76 / 621"

    - #### getLcbPlcfLst

          @Deprecated
          public int getLcbPlcfLst()

      Deprecated.

    - #### getLcbPlfLst

          public int getLcbPlfLst()

    - #### setFcPlcfLst

          @Deprecated
          public void setFcPlcfLst(int fcPlcfLst)

      Deprecated.

    - #### setFcPlfLst

          public void setFcPlfLst(int fcPlfLst)

    - #### setLcbPlcfLst

          @Deprecated
          public void setLcbPlcfLst(int lcbPlcfLst)

      Deprecated.

    - #### setLcbPlfLst

          public void setLcbPlfLst(int lcbPlfLst)

    - #### getFcPlfLfo

          public int getFcPlfLfo()

      An unsigned integer that specifies an offset in the Table Stream. A PlfLfo that contains list formatting override information begins at this offset. If lcbPlfLfo is zero, fcPlfLfo is undefined and MUST be ignored.

      Quote from "[MS-DOC] -- v20110315, Word (.doc) Binary File Format; page 76 / 621"

    - #### getLcbPlfLfo

          public int getLcbPlfLfo()

    - #### getFcSttbfbkmk

          public int getFcSttbfbkmk()

      Returns:
        Offset in table stream of the STTBF that records bookmark names in the main document

    - #### setFcSttbfbkmk

          public void setFcSttbfbkmk(int offset)

    - #### getLcbSttbfbkmk

          public int getLcbSttbfbkmk()

      Returns:
        Count of bytes in Sttbfbkmk

    - #### setLcbSttbfbkmk

          public void setLcbSttbfbkmk(int length)

    - #### getFcPlcfbkf

          public int getFcPlcfbkf()

      Returns:
        Offset in table stream of the PLCF that records the beginning CP offsets of bookmarks in the main document. See BKF structure definition.

    - #### setFcPlcfbkf

          public void setFcPlcfbkf(int offset)

    - #### getLcbPlcfbkf

          public int getLcbPlcfbkf()

      Returns:
        Count of bytes in Plcfbkf

    - #### setLcbPlcfbkf

          public void setLcbPlcfbkf(int length)

    - #### getFcPlcfbkl

          public int getFcPlcfbkl()

      Returns:
        Offset in table stream of the PLCF that records the ending CP offsets of bookmarks recorded in the main document. No structure is stored in this PLCF.

    - #### setFcPlcfbkl

          public void setFcPlcfbkl(int offset)

    - #### getLcbPlcfbkl

          public int getLcbPlcfbkl()

      Returns:
        Count of bytes in Plcfbkl

    - #### setLcbPlcfbkl

          public void setLcbPlcfbkl(int length)

    - #### setFcPlfLfo

          public void setFcPlfLfo(int fcPlfLfo)

    - #### setLcbPlfLfo

          public void setLcbPlfLfo(int lcbPlfLfo)

    - #### getFcSttbfffn

          public int getFcSttbfffn()

    - #### getLcbSttbfffn

          public int getLcbSttbfffn()

    - #### setFcSttbfffn

          public void setFcSttbfffn(int fcSttbFffn)

    - #### setLcbSttbfffn

          public void setLcbSttbfffn(int lcbSttbFffn)

    - #### getFcSttbfRMark

          public int getFcSttbfRMark()

    - #### getLcbSttbfRMark

          public int getLcbSttbfRMark()

    - #### setFcSttbfRMark

          public void setFcSttbfRMark(int fcSttbfRMark)

    - #### setLcbSttbfRMark

          public void setLcbSttbfRMark(int lcbSttbfRMark)

    - #### getPlcfHddOffset

          public int getPlcfHddOffset()

      Return the offset to the PlcfHdd, in the table stream, i.e. fcPlcfHdd

    - #### getPlcfHddSize

          public int getPlcfHddSize()

      Return the size of the PlcfHdd, in the table stream, i.e. lcbPlcfHdd

    - #### setPlcfHddOffset

          public void setPlcfHddOffset(int fcPlcfHdd)

    - #### setPlcfHddSize

          public void setPlcfHddSize(int lcbPlcfHdd)

    - #### getFcSttbSavedBy

          public int getFcSttbSavedBy()

    - #### getLcbSttbSavedBy

          public int getLcbSttbSavedBy()

    - #### setFcSttbSavedBy

          public void setFcSttbSavedBy(int fcSttbSavedBy)

    - #### setLcbSttbSavedBy

          public void setLcbSttbSavedBy(int fcSttbSavedBy)

    - #### getModifiedLow

          public int getModifiedLow()

    - #### getModifiedHigh

          public int getModifiedHigh()

    - #### setModifiedLow

          public void setModifiedLow(int modifiedLow)

    - #### setModifiedHigh

          public void setModifiedHigh(int modifiedHigh)

    - #### getCbMac

          public int getCbMac()

      How many bytes of the main stream contain real data.

    - #### setCbMac

          public void setCbMac(int cbMac)

      Updates the count of the number of bytes in the main stream which contain real data

    - #### getSubdocumentTextStreamLength

          public int getSubdocumentTextStreamLength(SubdocumentType type)

      Returns:
        length of specified subdocument text stream in characters

    - #### setSubdocumentTextStreamLength

          public void setSubdocumentTextStreamLength(SubdocumentType type,
                                                     int length)

    - #### clearOffsetsSizes

          public void clearOffsetsSizes()

    - #### getFieldsPlcfOffset

          public int getFieldsPlcfOffset(FieldsDocumentPart part)

    - #### getFieldsPlcfLength

          public int getFieldsPlcfLength(FieldsDocumentPart part)

    - #### setFieldsPlcfOffset

          public void setFieldsPlcfOffset(FieldsDocumentPart part,
                                          int offset)

    - #### setFieldsPlcfLength

          public void setFieldsPlcfLength(FieldsDocumentPart part,
                                          int length)

    - #### getFcPlcffldAtn

          @Deprecated
          public int getFcPlcffldAtn()

      Deprecated.

    - #### getLcbPlcffldAtn

          @Deprecated
          public int getLcbPlcffldAtn()

      Deprecated.

    - #### setFcPlcffldAtn

          @Deprecated
          public void setFcPlcffldAtn(int offset)

      Deprecated.

    - #### setLcbPlcffldAtn

          @Deprecated
          public void setLcbPlcffldAtn(int size)

      Deprecated.

    - #### getFcPlcffldEdn

          @Deprecated
          public int getFcPlcffldEdn()

      Deprecated.

    - #### getLcbPlcffldEdn

          @Deprecated
          public int getLcbPlcffldEdn()

      Deprecated.

    - #### setFcPlcffldEdn

          @Deprecated
          public void setFcPlcffldEdn(int offset)

      Deprecated.

    - #### setLcbPlcffldEdn

          @Deprecated
          public void setLcbPlcffldEdn(int size)

      Deprecated.

    - #### getFcPlcffldFtn

          @Deprecated
          public int getFcPlcffldFtn()

      Deprecated.

    - #### getLcbPlcffldFtn

          @Deprecated
          public int getLcbPlcffldFtn()

      Deprecated.

    - #### setFcPlcffldFtn

          @Deprecated
          public void setFcPlcffldFtn(int offset)

      Deprecated.

    - #### setLcbPlcffldFtn

          @Deprecated
          public void setLcbPlcffldFtn(int size)

      Deprecated.

    - #### getFcPlcffldHdr

          @Deprecated
          public int getFcPlcffldHdr()

      Deprecated.

    - #### getLcbPlcffldHdr

          @Deprecated
          public int getLcbPlcffldHdr()

      Deprecated.

    - #### setFcPlcffldHdr

          @Deprecated
          public void setFcPlcffldHdr(int offset)

      Deprecated.

    - #### setLcbPlcffldHdr

          @Deprecated
          public void setLcbPlcffldHdr(int size)

      Deprecated.

    - #### getFcPlcffldHdrtxbx

          @Deprecated
          public int getFcPlcffldHdrtxbx()

      Deprecated.

    - #### getLcbPlcffldHdrtxbx

          @Deprecated
          public int getLcbPlcffldHdrtxbx()

      Deprecated.

    - #### setFcPlcffldHdrtxbx

          @Deprecated
          public void setFcPlcffldHdrtxbx(int offset)

      Deprecated.

    - #### setLcbPlcffldHdrtxbx

          @Deprecated
          public void setLcbPlcffldHdrtxbx(int size)

      Deprecated.

    - #### getFcPlcffldMom

          @Deprecated
          public int getFcPlcffldMom()

      Deprecated.

    - #### getLcbPlcffldMom

          @Deprecated
          public int getLcbPlcffldMom()

      Deprecated.

    - #### setFcPlcffldMom

          @Deprecated
          public void setFcPlcffldMom(int offset)

      Deprecated.

    - #### setLcbPlcffldMom

          @Deprecated
          public void setLcbPlcffldMom(int size)

      Deprecated.

    - #### getFcPlcffldTxbx

          @Deprecated
          public int getFcPlcffldTxbx()

      Deprecated.

    - #### getLcbPlcffldTxbx

          @Deprecated
          public int getLcbPlcffldTxbx()

      Deprecated.

    - #### setFcPlcffldTxbx

          @Deprecated
          public void setFcPlcffldTxbx(int offset)

      Deprecated.

    - #### setLcbPlcffldTxbx

          @Deprecated
          public void setLcbPlcffldTxbx(int size)

      Deprecated.

    - #### getFSPAPlcfOffset

          public int getFSPAPlcfOffset(FSPADocumentPart part)

    - #### getFSPAPlcfLength

          public int getFSPAPlcfLength(FSPADocumentPart part)

    - #### setFSPAPlcfOffset

          public void setFSPAPlcfOffset(FSPADocumentPart part,
                                        int offset)

    - #### setFSPAPlcfLength

          public void setFSPAPlcfLength(FSPADocumentPart part,
                                        int length)

    - #### getFcPlcspaMom

          @Deprecated
          public int getFcPlcspaMom()

      Deprecated.

    - #### getLcbPlcspaMom

          @Deprecated
          public int getLcbPlcspaMom()

      Deprecated.

    - #### getFcDggInfo

          public int getFcDggInfo()

    - #### getLcbDggInfo

          public int getLcbDggInfo()

    - #### getNotesDescriptorsOffset

          public int getNotesDescriptorsOffset(NoteType noteType)

    - #### setNotesDescriptorsOffset

          public void setNotesDescriptorsOffset(NoteType noteType,
                                                int offset)

    - #### getNotesDescriptorsSize

          public int getNotesDescriptorsSize(NoteType noteType)

    - #### setNotesDescriptorsSize

          public void setNotesDescriptorsSize(NoteType noteType,
                                              int offset)

    - #### getNotesTextPositionsOffset

          public int getNotesTextPositionsOffset(NoteType noteType)

    - #### setNotesTextPositionsOffset

          public void setNotesTextPositionsOffset(NoteType noteType,
                                                  int offset)

    - #### getNotesTextPositionsSize

          public int getNotesTextPositionsSize(NoteType noteType)

    - #### setNotesTextPositionsSize

          public void setNotesTextPositionsSize(NoteType noteType,
                                                int offset)

    - #### writeTo

          public void writeTo(byte[] mainStream,
                              java.io.ByteArrayOutputStream tableStream)
                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getSize

          public int getSize()

    - #### getFibBase

          public FibBase getFibBase()

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