Class UnicodeString
- java.lang.Object
-
- org.apache.poi.hssf.record.common.UnicodeString
-
- All Implemented Interfaces:
java.lang.Comparable<UnicodeString>
public class UnicodeString extends java.lang.Object implements java.lang.Comparable<UnicodeString>
Title: Unicode StringDescription: Unicode String - just standard fields that are in several records. It is considered more desirable then repeating it in all of them.
This is often called a XLUnicodeRichExtendedString in MS documentation.
REFERENCE: PG 264 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)
REFERENCE: PG 951 Excel Binary File Format (.xls) Structure Specification v20091214
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUnicodeString.ExtRststatic classUnicodeString.FormatRunstatic classUnicodeString.PhRun
-
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(UnicodeString str)booleanequals(java.lang.Object o)Our handling of equals is inconsistent with compareTo.java.util.Iterator<UnicodeString.FormatRun>formatIterator()intgetCharCount()get the number of characters in the string, as an un-wrapped intshortgetCharCountShort()get the number of characters in the string, wrapped as needed to fit within a shortjava.lang.StringgetDebugInfo()return a character representation of the fields of this recordUnicodeString.ExtRstgetExtendedRst()UnicodeString.FormatRungetFormatRun(int index)intgetFormatRunCount()bytegetOptionFlags()get the option flags which among other things return if this is a 16-bit or 8 bit stringjava.lang.StringgetString()inthashCode()voidremoveFormatRun(UnicodeString.FormatRun r)voidserialize(ContinuableRecordOutput out)Serialises out the String.voidsetCharCount(short cc)set the number of characters in the stringvoidsetOptionFlags(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 containsvoidswapFontUse(short oldFontIndex, short newFontIndex)Swaps all use in the string of one font index for use of a different font index.java.lang.StringtoString()unlike the real records we return the same as "getString()" rather than debug info
-
-
-
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.
-
getCharCount
public int getCharCount()
get the number of characters in the string, as an un-wrapped int- Returns:
- number of characters
-
getCharCountShort
public short getCharCountShort()
get the number of characters in the string, wrapped as needed to fit within a short- 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()
- Returns:
- the actual string this contains as a java String object
-
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<UnicodeString.FormatRun> formatIterator()
-
removeFormatRun
public void removeFormatRun(UnicodeString.FormatRun r)
-
clearFormatting
public void clearFormatting()
-
getExtendedRst
public UnicodeString.ExtRst getExtendedRst()
-
swapFontUse
public void swapFontUse(short oldFontIndex, short newFontIndex)Swaps all use in the string of one font index for use of a different font index. Normally only called when fonts have been removed / re-ordered
-
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 void serialize(ContinuableRecordOutput out)
Serialises out the String. There are special rules about where we can and can't split onto Continue records.
-
compareTo
public int compareTo(UnicodeString str)
- Specified by:
compareToin interfacejava.lang.Comparable<UnicodeString>
-
clone
public java.lang.Object clone()
-
-