Methods Summary |
---|
protected void | fillFields(org.apache.poi.hssf.record.RecordInputStream in)
field_1_index_code = in.readShort();
field_3_unicode_len = in.readShort();
field_3_unicode_flag = ( in.readByte() & (byte)0x01 ) != 0;
if ( field_3_unicode_flag ) {
// unicode
field_4_formatstring = in.readUnicodeLEString( field_3_unicode_len );
}
else {
// not unicode
field_4_formatstring = in.readCompressedUnicode( field_3_unicode_len );
}
|
public java.lang.String | getFormatString()get the format string
return field_4_formatstring;
|
public short | getIndexCode()get the format index code (for built in formats)
return field_1_index_code;
|
public int | getRecordSize()
return 9 + ( ( field_3_unicode_flag ) ? 2 * field_3_unicode_len : field_3_unicode_len );
|
public short | getSid()
return sid;
|
public boolean | getUnicodeFlag()get whether the string is unicode
return field_3_unicode_flag;
|
public int | serialize(int offset, byte[] data)
LittleEndian.putShort(data, 0 + offset, sid);
LittleEndian.putShort(data, 2 + offset, (short)( 2 + 2 + 1 + ( (field_3_unicode_flag)
? 2 * field_3_unicode_len
: field_3_unicode_len ) ) );
// index + len + flag + format string length
LittleEndian.putShort(data, 4 + offset, getIndexCode());
LittleEndian.putShort(data, 6 + offset, field_3_unicode_len);
data[ 8 + offset ] = (byte)( (field_3_unicode_flag) ? 0x01 : 0x00 );
if ( field_3_unicode_flag ) {
// unicode
StringUtil.putUnicodeLE( getFormatString(), data, 9 + offset );
}
else {
// not unicode
StringUtil.putCompressedUnicode( getFormatString(), data, 9 + offset );
}
return getRecordSize();
|
public void | setFormatString(java.lang.String fs)set the format string
field_4_formatstring = fs;
setUnicodeFlag(StringUtil.hasMultibyte(fs));
|
public void | setFormatStringLength(byte len)set the format string length
field_3_unicode_len = len;
|
public void | setIndexCode(short index)set the format index code (for built in formats)
field_1_index_code = index;
|
public void | setUnicodeFlag(boolean unicode)set whether the string is unicode
field_3_unicode_flag = unicode;
|
public java.lang.String | toString()
StringBuffer buffer = new StringBuffer();
buffer.append("[FORMAT]\n");
buffer.append(" .indexcode = ")
.append(Integer.toHexString(getIndexCode())).append("\n");
/*
buffer.append(" .formatstringlen = ")
.append(Integer.toHexString(getFormatStringLength()))
.append("\n");
*/
buffer.append(" .unicode length = ")
.append(Integer.toHexString(field_3_unicode_len)).append("\n");
buffer.append(" .isUnicode = ")
.append( field_3_unicode_flag ).append("\n");
buffer.append(" .formatstring = ").append(getFormatString())
.append("\n");
buffer.append("[/FORMAT]\n");
return buffer.toString();
|
protected void | validateSid(short id)
if (id != sid)
{
throw new RecordFormatException("NOT A FORMAT RECORD");
}
|