Class 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 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()
      • 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.
      • 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()