org.apache.poi.hssf.record

## Class ExtSSTRecord

- java.lang.Object
- - org.apache.poi.hssf.record.RecordBase
  - - org.apache.poi.hssf.record.Record
    - - org.apache.poi.hssf.record.cont.ContinuableRecord
      - - org.apache.poi.hssf.record.ExtSSTRecord

- All Implemented Interfaces:
    Duplicatable

      public final class ExtSSTRecord
      extends ContinuableRecord

  Extended Static String Table (0x00FF)

  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.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ExtSSTRecord.InfoSubRecord`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_BUCKET_SIZE`
    `static int` | `MAX_BUCKETS`
    `static short` | `sid`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExtSSTRecord()`
    `ExtSSTRecord(ExtSSTRecord other)`
    `ExtSSTRecord(RecordInputStream in)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ExtSSTRecord` | `copy()`
    `protected int` | `getDataSize()`
    `protected ExtSSTRecord.InfoSubRecord[]` | `getInfoSubRecords()`
    `static int` | `getNumberOfInfoRecsForStrings(int numStrings)`
    `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.
    `void` | `serialize(ContinuableRecordOutput out)` Serializes this record's content to the supplied data output.
    `void` | `setBucketOffsets(int[] bucketAbsoluteOffsets, int[] bucketRelativeOffsets)`
    `void` | `setNumStringsPerBucket(short numStrings)`
    `java.lang.String` | `toString()` get a string representation of the record (for biffview/debugging)

    - ### Methods inherited from class org.apache.poi.hssf.record.cont.ContinuableRecord

      `getRecordSize, serialize`

    - ### Methods inherited from class org.apache.poi.hssf.record.Record

      `cloneViaReserialise, serialize`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### sid

          public static final short sid

      See Also:
        Constant Field Values

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

  - ### Constructor Detail

    - #### ExtSSTRecord

          public ExtSSTRecord()

    - #### ExtSSTRecord

          public ExtSSTRecord(ExtSSTRecord other)

    - #### ExtSSTRecord

          public ExtSSTRecord(RecordInputStream in)

  - ### Method Detail

    - #### setNumStringsPerBucket

          public void setNumStringsPerBucket(short numStrings)

    - #### 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 void serialize(ContinuableRecordOutput out)

      Description copied from class: `ContinuableRecord`
      Serializes this record's content to the supplied data output.

      The standard BIFF header (ushort sid, ushort size) has been handled by the superclass, so only BIFF data should be written by this method. Simple data types can be written with the standard `LittleEndianOutput` methods. Methods from `ContinuableRecordOutput` can be used to serialize strings (with `ContinueRecord`s being written as required). If necessary, implementors can explicitly start `ContinueRecord`s (regardless of the amount of remaining space).

      Specified by:
        `serialize` in class `ContinuableRecord`
      Parameters:
        `out` - a data output stream

    - #### getDataSize

          protected int getDataSize()

    - #### getInfoSubRecords

          protected ExtSSTRecord.InfoSubRecord[] getInfoSubRecords()

    - #### getNumberOfInfoRecsForStrings

          public static int getNumberOfInfoRecsForStrings(int numStrings)

    - #### getRecordSizeForStrings

          public static int getRecordSizeForStrings(int numStrings)

      Given a number of strings (in the sst), returns the size of the extsst record
      Parameters:
        `numStrings` - the number of strings
      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`
      Returns:
        he id for this record

    - #### setBucketOffsets

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

    - #### copy

          public ExtSSTRecord copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `Record`
      Returns:
        a deep copy of the implementing class / instance

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