Class BoundSheetRecord


  • public class BoundSheetRecord
    extends Record
    Title: Bound Sheet Record (aka BundleSheet)

    Description: Defines a sheet within a workbook. Basically stores the sheetname and tells where the Beginning of file record is within the HSSF file.

    REFERENCE: PG 291 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

    Version:
    2.0-pre
    Author:
    Andrew C. Oliver (acoliver at apache dot org), Sergei Kozello (sergeikozello at mail.ru)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static short sid  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void fillFields​(RecordInputStream in)
      UTF8: sid + len + bof + flags + len(str) + unicode + str 2 + 2 + 4 + 2 + 1 + 1 + len(str) UNICODE: sid + len + bof + flags + len(str) + unicode + str 2 + 2 + 4 + 2 + 1 + 1 + 2 * len(str)
      byte getCompressedUnicodeFlag()
      get whether or not to interperate the Sheetname as compressed unicode (8/16 bit) (This is undocumented but can be found as Q187919 on the Microsoft(tm) Support site)
      short getOptionFlags()
      get the option flags (unimportant for HSSF supported sheets)
      int getPositionOfBof()
      get the offset in bytes of the Beginning of File Marker within the HSSF Stream part of the POIFS file
      byte getRawSheetnameLength()
      get the length of the raw sheetname in characters the length depends on the unicode flag
      int getRecordSize()
      gives the current serialized size of the record.
      String getSheetname()
      get the sheetname for this sheet.
      byte getSheetnameLength()
      get the length of the sheetname in characters
      short getSid()
      return the non static version of the id for this record.
      int serialize​(int offset, byte[] data)
      called by the class that is responsible for writing this sucker.
      void setCompressedUnicodeFlag​(byte flag)
      set whether or not to interperate the Sheetname as compressed unicode (8/16 bit) (This is undocumented but can be found as Q187919 on the Microsoft(tm) Support site)
      void setOptionFlags​(short flags)
      set the option flags (unimportant for HSSF supported sheets)
      void setPositionOfBof​(int pos)
      set the offset in bytes of the Beginning of File Marker within the HSSF Stream part of the POIFS file
      void setSheetname​(String sheetname)
      Set the sheetname for this sheet.
      void setSheetnameLength​(byte len)
      Set the length of the sheetname in characters
      String toString()
      get a string representation of the record (for biffview/debugging)
      protected void validateSid​(short id)
      called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
    • Constructor Detail

      • BoundSheetRecord

        public BoundSheetRecord()
      • BoundSheetRecord

        public BoundSheetRecord​(RecordInputStream in)
        Constructs a BoundSheetRecord and sets its fields appropriately
        Parameters:
        in - the RecordInputstream to read the record from
    • Method Detail

      • validateSid

        protected void validateSid​(short id)
        Description copied from class: Record
        called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
        Specified by:
        validateSid in class Record
        Parameters:
        id - alleged id for this record
      • fillFields

        protected void fillFields​(RecordInputStream in)
        UTF8: sid + len + bof + flags + len(str) + unicode + str 2 + 2 + 4 + 2 + 1 + 1 + len(str) UNICODE: sid + len + bof + flags + len(str) + unicode + str 2 + 2 + 4 + 2 + 1 + 1 + 2 * len(str)
        Specified by:
        fillFields in class Record
        Parameters:
        in - the RecordInputstream to read the record from
      • setPositionOfBof

        public void setPositionOfBof​(int pos)
        set the offset in bytes of the Beginning of File Marker within the HSSF Stream part of the POIFS file
        Parameters:
        pos - offset in bytes
      • setOptionFlags

        public void setOptionFlags​(short flags)
        set the option flags (unimportant for HSSF supported sheets)
        Parameters:
        flags - to set
      • setSheetnameLength

        public void setSheetnameLength​(byte len)
        Set the length of the sheetname in characters
        Parameters:
        len - number of characters in the sheet name
        See Also:
        setSheetname(String)
      • setCompressedUnicodeFlag

        public void setCompressedUnicodeFlag​(byte flag)
        set whether or not to interperate the Sheetname as compressed unicode (8/16 bit) (This is undocumented but can be found as Q187919 on the Microsoft(tm) Support site)
        Parameters:
        flag - (0/1) 0- compressed, 1 - uncompressed (16-bit)
      • setSheetname

        public void setSheetname​(String sheetname)
        Set the sheetname for this sheet. (this appears in the tabs at the bottom)
        Parameters:
        sheetname - the name of the sheet
        Throws:
        IllegalArgumentException - if sheet name will cause excel to crash.
      • getPositionOfBof

        public int getPositionOfBof()
        get the offset in bytes of the Beginning of File Marker within the HSSF Stream part of the POIFS file
        Returns:
        offset in bytes
      • getOptionFlags

        public short getOptionFlags()
        get the option flags (unimportant for HSSF supported sheets)
        Returns:
        flags to set
      • getSheetnameLength

        public byte getSheetnameLength()
        get the length of the sheetname in characters
        Returns:
        number of characters in the sheet name
        See Also:
        getSheetname()
      • getRawSheetnameLength

        public byte getRawSheetnameLength()
        get the length of the raw sheetname in characters the length depends on the unicode flag
        Returns:
        number of characters in the raw sheet name
      • getCompressedUnicodeFlag

        public byte getCompressedUnicodeFlag()
        get whether or not to interperate the Sheetname as compressed unicode (8/16 bit) (This is undocumented but can be found as Q187919 on the Microsoft(tm) Support site)
        Returns:
        flag (0/1) 0- compressed, 1 - uncompressed (16-bit)
      • getSheetname

        public String getSheetname()
        get the sheetname for this sheet. (this appears in the tabs at the bottom)
        Returns:
        sheetname the name of the sheet
      • toString

        public String toString()
        Description copied from class: Record
        get a string representation of the record (for biffview/debugging)
        Overrides:
        toString in class Record
      • serialize

        public int serialize​(int offset,
                             byte[] data)
        Description copied from class: Record
        called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.
        Specified by:
        serialize in class Record
        Parameters:
        offset - to begin writing at
        data - byte array containing instance data
        Returns:
        number of bytes written
      • getRecordSize

        public int getRecordSize()
        Description copied from class: Record
        gives the current serialized size of the record. Should include the sid and reclength (4 bytes).
        Overrides:
        getRecordSize in class Record
      • getSid

        public short getSid()
        Description copied from class: Record
        return the non static version of the id for this record.
        Specified by:
        getSid in class Record