org.apache.poi.hssf.record
Class StringRecord

java.lang.Object
  extended byorg.apache.poi.hssf.record.Record
      extended byorg.apache.poi.hssf.record.StringRecord

public class StringRecord
extends Record

Supports the STRING record structure.

Author:
Glen Stampoultzis (glens at apache.org)

Field Summary
static short sid
           
 
Constructor Summary
StringRecord()
           
StringRecord(short id, short size, byte[] data)
          Constructs a String record and sets its fields appropriately.
StringRecord(short id, short size, byte[] data, int offset)
          Constructs an String record 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.
 int getRecordSize()
          gives the current serialized size of the record.
 short getSid()
          return the non static version of the id for this record.
 java.lang.String getString()
           
 boolean isInValueSection()
          DBCELL, ROW, VALUES all say yes
 boolean isUnCompressedUnicode()
          is this uncompressed unicode (16bit)? Or just 8-bit compressed?
 int serialize(int offset, byte[] data)
          called by the class that is responsible for writing this sucker.
 void setCompressedFlag(byte unicode_flag)
          Sets whether the string is compressed or not
 void setString(java.lang.String string)
          Sets the string represented by this record.
 java.lang.String toString()
          get a string representation of the record (for biffview/debugging)
protected  void validateSid(short id)
          Throw a runtime exception in the event of a record passed with a differing ID.
 
Methods inherited from class org.apache.poi.hssf.record.Record
fillFields, 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
See Also:
Constant Field Values
Constructor Detail

StringRecord

public StringRecord()

StringRecord

public StringRecord(short id,
                    short size,
                    byte[] data)
Constructs a String record and sets its fields appropriately.

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

StringRecord

public StringRecord(short id,
                    short size,
                    byte[] data,
                    int offset)
Constructs an String record and sets its fields appropriately.

Parameters:
id - id must be 0x204 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 - of the record
Method Detail

validateSid

protected void validateSid(short id)
Throw a 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)
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)

isInValueSection

public boolean isInValueSection()
Description copied from class: Record
DBCELL, ROW, VALUES all say yes

Overrides:
isInValueSection in class Record

getRecordSize

public int getRecordSize()
gives the current serialized size of the record. Should include the sid and reclength (4 bytes).

Overrides:
getRecordSize in class Record

isUnCompressedUnicode

public boolean isUnCompressedUnicode()
is this uncompressed unicode (16bit)? Or just 8-bit compressed?

Returns:
isUnicode - True for 16bit- false for 8bit

serialize

public int serialize(int offset,
                     byte[] data)
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

getSid

public short getSid()
return the non static version of the id for this record.

Specified by:
getSid in class Record

getString

public java.lang.String getString()
Returns:
The string represented by this record.

setCompressedFlag

public void setCompressedFlag(byte unicode_flag)
Sets whether the string is compressed or not

Parameters:
unicode_flag - 1 = uncompressed, 0 = compressed

setString

public void setString(java.lang.String string)
Sets the string represented by this record.


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

clone

public java.lang.Object clone()
Overrides:
clone in class Record


Copyright © 2003 Apache Software Foundation.