## org.apache.poi.hssf.record
Class BoundSheetRecord

    java.lang.Object
      org.apache.poi.hssf.record.Record
          org.apache.poi.hssf.record.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
`static short` `sid`

Constructor Summary
`BoundSheetRecord()`
`BoundSheetRecord(short id, short size, byte[] data)` Constructs a BoundSheetRecord and sets its fields appropriately
`BoundSheetRecord(short id, short size, byte[] data, int offset)` Constructs a BoundSheetRecord and sets its fields appropriately

Method Summary
`protected void` `fillFields(byte[] data, short size, int offset)` 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.
`java.lang.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(java.lang.String sheetname)` Set the sheetname for this sheet.
`void` `setSheetnameLength(byte len)` Set the length of the sheetname in characters
`java.lang.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.

Methods inherited from class org.apache.poi.hssf.record.Record
`clone, fillFields, isInValueSection, isValue, processContinueRecord, serialize`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### sid

    public static final short sid

See Also:
  Constant Field Values

Constructor Detail

### BoundSheetRecord

    public BoundSheetRecord()

### BoundSheetRecord

    public BoundSheetRecord(short id,
                            short size,
                            byte[] data)

  Constructs a BoundSheetRecord and sets its fields appropriately

Parameters:
  `id` - id must be 0x85 or an exception will be throw upon validation
  `size` - the size of the data area of the record
  `data` - data of the record (should not contain sid/len)

### BoundSheetRecord

    public BoundSheetRecord(short id,
                            short size,
                            byte[] data,
                            int offset)

  Constructs a BoundSheetRecord and sets its fields appropriately

Parameters:
  `id` - id must be 0x85 or an exception will be throw upon validation
  `size` - the size of the data area of the record
  `data` - data of the record (should not contain sid/len)
  `offset` - of the record's data

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(byte[] data,
                              short size,
                              int offset)

  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:
    `data` - raw data
    `size` - size of data
    `offset` - of the record's data (provided a big array of the file)

### 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(java.lang.String sheetname)

  Set the sheetname for this sheet. (this appears in the tabs at the bottom)

  Parameters:
    `sheetname` - the name of the sheet

### 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 java.lang.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 java.lang.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`

Copyright © 2003 Apache Software Foundation.