Package loci.poi.hssf.record
Class UnicodeString
- java.lang.Object
-
- loci.poi.hssf.record.UnicodeString
-
- All Implemented Interfaces:
java.lang.Comparable
public class UnicodeString extends java.lang.Object implements java.lang.ComparableTitle: Unicode StringDescription: Unicode String record. We implement these as a record, although they are really just standard fields that are in several records. It is considered more desirable then repeating it in all of them.
REFERENCE: PG 264 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)
- Version:
- 2.0-pre
- Author:
- Andrew C. Oliver, Marc Johnson (mjohnson at apache dot org), Glen Stampoultzis (glens at apache.org)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUnicodeString.FormatRunstatic classUnicodeString.UnicodeRecordStatsReturns the size of this record, given the ammount of record space remaining, it will also include the size of writing a continue record.
-
Field Summary
Fields Modifier and Type Field Description static shortsid
-
Constructor Summary
Constructors Constructor Description UnicodeString(java.lang.String str)UnicodeString(RecordInputStream in)construct a unicode string record and fill its fields, ID is ignored
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFormatRun(UnicodeString.FormatRun r)Adds a font run to the formatted string.voidclearFormatting()java.lang.Objectclone()intcompareTo(java.lang.Object obj)booleanequals(java.lang.Object o)Our handling of equals is inconsistent with compareTo.protected voidfillFields(RecordInputStream in)java.util.IteratorformatIterator()shortgetCharCount()get the number of characters in the stringjava.lang.StringgetDebugInfo()return a character representation of the fields of this recordbyte[]getExtendedRst()UnicodeString.FormatRungetFormatRun(int index)intgetFormatRunCount()bytegetOptionFlags()get the option flags which among other things return if this is a 16-bit or 8 bit stringvoidgetRecordSize(UnicodeString.UnicodeRecordStats stats)shortgetSid()java.lang.StringgetString()get the actual string this contains as a java String objectinthashCode()booleanisExtendedText()booleanisRichText()voidremoveFormatRun(UnicodeString.FormatRun r)intserialize(UnicodeString.UnicodeRecordStats stats, int offset, byte[] data)voidsetCharCount(short cc)set the number of characters in the stringvoidsetCompressedUnicode()voidsetExtendedRst(byte[] ext_rst)voidsetOptionFlags(byte of)set the option flags which among other things return if this is a 16-bit or 8 bit stringvoidsetString(java.lang.String string)set the actual string this containsvoidsetUncompressedUnicode()java.lang.StringtoString()unlike the real records we return the same as "getString()" rather than debug infoprotected voidvalidateSid(short id)NO OP
-
-
-
Field Detail
-
sid
public static final short sid
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UnicodeString
public UnicodeString(java.lang.String str)
-
UnicodeString
public UnicodeString(RecordInputStream in)
construct a unicode string record and fill its fields, ID is ignored- Parameters:
in- the RecordInputstream to read the record from
-
-
Method Detail
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
Our handling of equals is inconsistent with compareTo. The trouble is because we don't truely understand rich text fields yet it's difficult to make a sound comparison.- Overrides:
equalsin classjava.lang.Object- Parameters:
o- The object to compare.- Returns:
- true if the object is actually equal.
-
validateSid
protected void validateSid(short id)
NO OP
-
fillFields
protected void fillFields(RecordInputStream in)
- Parameters:
in- the RecordInputstream to read the record from
-
getCharCount
public short getCharCount()
get the number of characters in the string- Returns:
- number of characters
-
setCharCount
public void setCharCount(short cc)
set the number of characters in the string- Parameters:
cc- - number of characters
-
getOptionFlags
public byte getOptionFlags()
get the option flags which among other things return if this is a 16-bit or 8 bit string- Returns:
- optionflags bitmask
-
setOptionFlags
public void setOptionFlags(byte of)
set the option flags which among other things return if this is a 16-bit or 8 bit string- Parameters:
of- optionflags bitmask
-
getString
public java.lang.String getString()
get the actual string this contains as a java String object- Returns:
- String
-
setString
public void setString(java.lang.String string)
set the actual string this contains- Parameters:
string- the text
-
getFormatRunCount
public int getFormatRunCount()
-
getFormatRun
public UnicodeString.FormatRun getFormatRun(int index)
-
addFormatRun
public void addFormatRun(UnicodeString.FormatRun r)
Adds a font run to the formatted string. If a font run exists at the current charcter location, then it is replaced with the font run to be added.
-
formatIterator
public java.util.Iterator formatIterator()
-
removeFormatRun
public void removeFormatRun(UnicodeString.FormatRun r)
-
clearFormatting
public void clearFormatting()
-
getExtendedRst
public byte[] getExtendedRst()
-
setExtendedRst
public void setExtendedRst(byte[] ext_rst)
-
toString
public java.lang.String toString()
unlike the real records we return the same as "getString()" rather than debug info- Overrides:
toStringin classjava.lang.Object- Returns:
- String value of the record
- See Also:
getDebugInfo()
-
getDebugInfo
public java.lang.String getDebugInfo()
return a character representation of the fields of this record- Returns:
- String of output for biffviewer etc.
-
serialize
public int serialize(UnicodeString.UnicodeRecordStats stats, int offset, byte[] data)
-
setCompressedUnicode
public void setCompressedUnicode()
-
setUncompressedUnicode
public void setUncompressedUnicode()
-
getRecordSize
public void getRecordSize(UnicodeString.UnicodeRecordStats stats)
-
getSid
public short getSid()
-
compareTo
public int compareTo(java.lang.Object obj)
- Specified by:
compareToin interfacejava.lang.Comparable
-
isRichText
public boolean isRichText()
-
isExtendedText
public boolean isExtendedText()
-
clone
public java.lang.Object clone()
- Overrides:
clonein classjava.lang.Object
-
-