Class UnicodeString
- java.lang.Object
-
- org.apache.poi.hssf.record.common.UnicodeString
-
- All Implemented Interfaces:
Comparable<UnicodeString>,Duplicatable,GenericRecord
public class UnicodeString extends Object implements Comparable<UnicodeString>, Duplicatable, GenericRecord
Unicode String - just standard fields that are in several records. It is considered more desirable than repeating it in all of them.This is often called a XLUnicodeRichExtendedString in MS documentation.
-
-
Constructor Summary
Constructors Constructor Description UnicodeString(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(FormatRun r)Adds a font run to the formatted string.voidclearFormatting()intcompareTo(UnicodeString str)UnicodeStringcopy()booleanequals(Object o)Our handling of equals is inconsistent with compareTo.Iterator<FormatRun>formatIterator()Spliterator<FormatRun>formatSpliterator()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 shortStringgetDebugInfo()return a character representation of the fields of this recordExtRstgetExtendedRst()FormatRungetFormatRun(int index)intgetFormatRunCount()Map<String,Supplier<?>>getGenericProperties()bytegetOptionFlags()get the option flags which among other things return if this is a 16-bit or 8 bit stringStringgetString()inthashCode()voidremoveFormatRun(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(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.StringtoString()unlike the real records we return the same as "getString()" rather than debug info-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericChildren, getGenericRecordType
-
-
-
-
Constructor Detail
-
UnicodeString
public UnicodeString(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
-
equals
public boolean equals(Object o)
Our handling of equals is inconsistent with compareTo. The trouble is because we don't truly understand rich text fields, yet it's difficult to make a sound comparison.
-
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 String getString()
- Returns:
- the actual string this contains as a java String object
-
setString
public void setString(String string)
set the actual string this contains- Parameters:
string- the text
-
getFormatRunCount
public int getFormatRunCount()
-
getFormatRun
public FormatRun getFormatRun(int index)
-
addFormatRun
public void addFormatRun(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.
-
formatSpliterator
public Spliterator<FormatRun> formatSpliterator()
- Since:
- POI 5.2.0
-
removeFormatRun
public void removeFormatRun(FormatRun r)
-
clearFormatting
public void clearFormatting()
-
getExtendedRst
public 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 String toString()
unlike the real records we return the same as "getString()" rather than debug info- Overrides:
toStringin classObject- Returns:
- String value of the record
- See Also:
getDebugInfo()
-
getDebugInfo
public 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 interfaceComparable<UnicodeString>
-
copy
public UnicodeString copy()
- Specified by:
copyin interfaceDuplicatable- Returns:
- a deep copy of the implementing class / instance
-
getGenericProperties
public Map<String,Supplier<?>> getGenericProperties()
- Specified by:
getGenericPropertiesin interfaceGenericRecord
-
-