org.apache.poi.hssf.record
Class ExtSSTRecord

java.lang.Object
  extended by org.apache.poi.hssf.record.Record
      extended by org.apache.poi.hssf.record.ExtSSTRecord

public class ExtSSTRecord
extends Record

Title: Extended Static String Table

Description: This record is used for a quick lookup into the SST record. This record breaks the SST table into a set of buckets. The offsets to these buckets within the SST record are kept as well as the position relative to the start of the SST record. REFERENCE: PG 313 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

Version:
2.0-pre
Author:
Andrew C. Oliver (acoliver at apache dot org), Jason Height (jheight at apache dot org)
See Also:
ExtSSTInfoSubRecord

Field Summary
static int DEFAULT_BUCKET_SIZE
           
static int MAX_BUCKETS
           
static short sid
           
 
Constructor Summary
ExtSSTRecord()
           
ExtSSTRecord(RecordInputStream in)
          Constructs a EOFRecord record and sets its fields appropriately.
 
Method Summary
 void addInfoRecord(ExtSSTInfoSubRecord rec)
           
protected  void fillFields(RecordInputStream in)
          called by the constructor, should set class level fields.
 ExtSSTInfoSubRecord getInfoRecordAt(int elem)
           
static int getNumberOfInfoRecsForStrings(int numStrings)
           
 int getNumInfoRecords()
           
 short getNumStringsPerBucket()
           
 int getRecordSize()
          Returns the size of this record
static int getRecordSizeForStrings(int numStrings)
          Given a number of strings (in the sst), returns the size of the extsst record
 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 setBucketOffsets(int[] bucketAbsoluteOffsets, int[] bucketRelativeOffsets)
           
 void setNumStringsPerBucket(short numStrings)
           
 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

DEFAULT_BUCKET_SIZE

public static final int DEFAULT_BUCKET_SIZE
See Also:
Constant Field Values

MAX_BUCKETS

public static final int MAX_BUCKETS
See Also:
Constant Field Values

sid

public static final short sid
See Also:
Constant Field Values
Constructor Detail

ExtSSTRecord

public ExtSSTRecord()

ExtSSTRecord

public ExtSSTRecord(RecordInputStream in)
Constructs a EOFRecord record 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)
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:
in - the RecordInputstream to read the record from

setNumStringsPerBucket

public void setNumStringsPerBucket(short numStrings)

addInfoRecord

public void addInfoRecord(ExtSSTInfoSubRecord rec)

getNumStringsPerBucket

public short getNumStringsPerBucket()

getNumInfoRecords

public int getNumInfoRecords()

getInfoRecordAt

public ExtSSTInfoSubRecord getInfoRecordAt(int elem)

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()
Returns the size of this record

Overrides:
getRecordSize in class Record

getNumberOfInfoRecsForStrings

public static final int getNumberOfInfoRecsForStrings(int numStrings)

getRecordSizeForStrings

public static final int getRecordSizeForStrings(int numStrings)
Given a number of strings (in the sst), returns the size of the extsst 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

setBucketOffsets

public void setBucketOffsets(int[] bucketAbsoluteOffsets,
                             int[] bucketRelativeOffsets)


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