org.apache.poi.hssf.record
Class BoundSheetRecord

java.lang.Object
  extended by org.apache.poi.hssf.record.Record
      extended by 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(RecordInputStream in)
          Constructs a BoundSheetRecord and sets its fields appropriately
 
Method Summary
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.
 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.
 boolean isHidden()
           
 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 setHidden(boolean hidden)
           
 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, cloneViaReserialise, isInValueSection, isValue, 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(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(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
Throws:
java.lang.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 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

isHidden

public boolean isHidden()

setHidden

public void setHidden(boolean hidden)


Copyright 2008 The Apache Software Foundation or its licensors, as applicable.