public final class ExtSSTRecord extends ContinuableRecord
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.
Modifier and Type | Class and Description |
---|---|
static class |
ExtSSTRecord.InfoSubRecord |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BUCKET_SIZE |
static int |
MAX_BUCKETS |
static short |
sid |
Constructor and Description |
---|
ExtSSTRecord() |
ExtSSTRecord(ExtSSTRecord other) |
ExtSSTRecord(RecordInputStream in) |
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)
|
getRecordSize, serialize
cloneViaReserialise, serialize
public static final short sid
public static final int DEFAULT_BUCKET_SIZE
public static final int MAX_BUCKETS
public ExtSSTRecord()
public ExtSSTRecord(ExtSSTRecord other)
public ExtSSTRecord(RecordInputStream in)
public void setNumStringsPerBucket(short numStrings)
public java.lang.String toString()
Record
public void serialize(ContinuableRecordOutput out)
ContinuableRecord
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).
serialize
in class ContinuableRecord
out
- a data output streamprotected int getDataSize()
protected ExtSSTRecord.InfoSubRecord[] getInfoSubRecords()
public static int getNumberOfInfoRecsForStrings(int numStrings)
public static int getRecordSizeForStrings(int numStrings)
numStrings
- the number of stringspublic short getSid()
Record
public void setBucketOffsets(int[] bucketAbsoluteOffsets, int[] bucketRelativeOffsets)
public ExtSSTRecord copy()
copy
in interface Duplicatable
copy
in class Record
Copyright 2020 The Apache Software Foundation or its licensors, as applicable.