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

    java.lang.Object
      org.apache.poi.hssf.record.Record
          org.apache.poi.hssf.record.BOFRecord

public class BOFRecord
extends Record

Title: Beginning Of File

Description: Somewhat of a misnomer, its used for the beginning of a set of records that have a particular pupose or subject. Used in sheets and workbooks.

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

Version:
  2.0-pre
Author:
  Andrew C. Oliver, Jason Height (jheight at chariot dot net dot au)

Field Summary
`static short` `BUILD` suggested default 0x10d3
`static short` `BUILD_YEAR` suggested default 0x07CC (1996)
`static short` `HISTORY_MASK` suggested default for a normal sheet (0x41)
`static short` `sid` for BIFF8 files the BOF is 0x809.
`static short` `TYPE_CHART`
`static short` `TYPE_EXCEL_4_MACRO`
`static short` `TYPE_VB_MODULE`
`static short` `TYPE_WORKBOOK`
`static short` `TYPE_WORKSHEET`
`static short` `TYPE_WORKSPACE_FILE`
`static short` `VERSION` suggested default (0x06 - BIFF8)

Constructor Summary
`BOFRecord()` Constructs an empty BOFRecord with no fields set.
`BOFRecord(short id, short size, byte[] data)` Constructs a BOFRecord and sets its fields appropriately
`BOFRecord(short id, short size, byte[] data, int offset)` Constructs a BOFRecord and sets its fields appropriately

Method Summary
`java.lang.Object` `clone()`
`protected void` `fillFields(byte[] data, short size, int offset)` called by the constructor, should set class level fields.
`short` `getBuild()` get the build that wrote this file
`short` `getBuildYear()` Year of the build that wrote this file
`int` `getHistoryBitMask()` get the history bit mask (not very useful)
`int` `getRecordSize()` gives the current serialized size of the record.
`int` `getRequiredVersion()` get the minimum version required to read this file
`short` `getSid()` return the non static version of the id for this record.
`short` `getType()` type of object this marks
`short` `getVersion()` Version number - for BIFF8 should be 0x06
`int` `serialize(int offset, byte[] data)` called by the class that is responsible for writing this sucker.
`void` `setBuild(short build)` build that wrote this file
`void` `setBuildYear(short year)` Year of the build that wrote this file
`void` `setHistoryBitMask(int bitmask)` set the history bit mask (not very useful)
`void` `setRequiredVersion(int version)` set the minimum version required to read this file
`void` `setType(short type)` type of object this marks
`void` `setVersion(short version)` Version number - for BIFF8 should be 0x06
`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
`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

  for BIFF8 files the BOF is 0x809. For earlier versions it was 0x09 or 0x(biffversion)09

  See Also:
    Constant Field Values

### VERSION

    public static final short VERSION

  suggested default (0x06 - BIFF8)

  See Also:
    Constant Field Values

### BUILD

    public static final short BUILD

  suggested default 0x10d3

  See Also:
    Constant Field Values

### BUILD_YEAR

    public static final short BUILD_YEAR

  suggested default 0x07CC (1996)

  See Also:
    Constant Field Values

### HISTORY_MASK

    public static final short HISTORY_MASK

  suggested default for a normal sheet (0x41)

  See Also:
    Constant Field Values

### TYPE_WORKBOOK

    public static final short TYPE_WORKBOOK

See Also:
  Constant Field Values

### TYPE_VB_MODULE

    public static final short TYPE_VB_MODULE

See Also:
  Constant Field Values

### TYPE_WORKSHEET

    public static final short TYPE_WORKSHEET

See Also:
  Constant Field Values

### TYPE_CHART

    public static final short TYPE_CHART

See Also:
  Constant Field Values

### TYPE_EXCEL_4_MACRO

    public static final short TYPE_EXCEL_4_MACRO

See Also:
  Constant Field Values

### TYPE_WORKSPACE_FILE

    public static final short TYPE_WORKSPACE_FILE

See Also:
  Constant Field Values

Constructor Detail

### BOFRecord

    public BOFRecord()

  Constructs an empty BOFRecord with no fields set.

### BOFRecord

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

  Constructs a BOFRecord and sets its fields appropriately

Parameters:
  `id` - id must be 0x809 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)

### BOFRecord

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

  Constructs a BOFRecord and sets its fields appropriately

Parameters:
  `id` - id must be 0x809 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` - the 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)

  Description copied from class: `Record`
  called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

  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)

### setVersion

    public void setVersion(short version)

  Version number - for BIFF8 should be 0x06

  See Also:
    `VERSION`

### setType

    public void setType(short type)

  type of object this marks

  See Also:
    `TYPE_WORKBOOK`, `TYPE_VB_MODULE`, `TYPE_WORKSHEET`, `TYPE_CHART`, `TYPE_EXCEL_4_MACRO`, `TYPE_WORKSPACE_FILE`

### setBuild

    public void setBuild(short build)

  build that wrote this file

  See Also:
    `BUILD`

### setBuildYear

    public void setBuildYear(short year)

  Year of the build that wrote this file

  See Also:
    `BUILD_YEAR`

### setHistoryBitMask

    public void setHistoryBitMask(int bitmask)

  set the history bit mask (not very useful)

  See Also:
    `HISTORY_MASK`

### setRequiredVersion

    public void setRequiredVersion(int version)

  set the minimum version required to read this file

  See Also:
    `VERSION`

### getVersion

    public short getVersion()

  Version number - for BIFF8 should be 0x06

  Returns:
    short version number of the generator of this file
  See Also:
    `VERSION`

### getType

    public short getType()

  type of object this marks

  Returns:
    short type of object
  See Also:
    `TYPE_WORKBOOK`, `TYPE_VB_MODULE`, `TYPE_WORKSHEET`, `TYPE_CHART`, `TYPE_EXCEL_4_MACRO`, `TYPE_WORKSPACE_FILE`

### getBuild

    public short getBuild()

  get the build that wrote this file

  Returns:
    short build number of the generator of this file
  See Also:
    `BUILD`

### getBuildYear

    public short getBuildYear()

  Year of the build that wrote this file

  Returns:
    short build year of the generator of this file
  See Also:
    `BUILD_YEAR`

### getHistoryBitMask

    public int getHistoryBitMask()

  get the history bit mask (not very useful)

  Returns:
    int bitmask showing the history of the file (who cares!)
  See Also:
    `HISTORY_MASK`

### getRequiredVersion

    public int getRequiredVersion()

  get the minimum version required to read this file

  Returns:
    int least version that can read the file
  See Also:
    `VERSION`

### 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`

### clone

    public java.lang.Object clone()

  Overrides:
    `clone` in class `Record`

Copyright © 2003 Apache Software Foundation.