Class FileInformationBlock

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

@Internal public final class FileInformationBlock extends 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 Details

    • logger

      public static final POILogger logger
  • Constructor Details

    • FileInformationBlock

      public FileInformationBlock(byte[] mainDocument)
      Creates a new instance of FileInformationBlock
  • Method Details

    • fillVariableFields

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

      public String toString()
      Overrides:
      toString in class 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, ByteArrayOutputStream tableStream) throws IOException
      Throws:
      IOException
    • getSize

      public int getSize()
    • getFibBase

      public FibBase getFibBase()