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 void
addFormatRun(FormatRun r)
Adds a font run to the formatted string.void
clearFormatting()
int
compareTo(UnicodeString str)
UnicodeString
copy()
boolean
equals(Object o)
Our handling of equals is inconsistent with compareTo.Iterator<FormatRun>
formatIterator()
Spliterator<FormatRun>
formatSpliterator()
int
getCharCount()
get the number of characters in the string, as an un-wrapped intshort
getCharCountShort()
get the number of characters in the string, wrapped as needed to fit within a shortString
getDebugInfo()
return a character representation of the fields of this recordExtRst
getExtendedRst()
FormatRun
getFormatRun(int index)
int
getFormatRunCount()
Map<String,Supplier<?>>
getGenericProperties()
byte
getOptionFlags()
get the option flags which among other things return if this is a 16-bit or 8 bit stringString
getString()
int
hashCode()
void
removeFormatRun(FormatRun r)
void
serialize(ContinuableRecordOutput out)
Serialises out the String.void
setCharCount(short cc)
set the number of characters in the stringvoid
setOptionFlags(byte of)
set the option flags which among other things return if this is a 16-bit or 8 bit stringvoid
setString(String string)
set the actual string this containsvoid
swapFontUse(short oldFontIndex, short newFontIndex)
Swaps all use in the string of one font index for use of a different font index.String
toString()
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:
toString
in 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:
compareTo
in interfaceComparable<UnicodeString>
-
copy
public UnicodeString copy()
- Specified by:
copy
in interfaceDuplicatable
- Returns:
- a deep copy of the implementing class / instance
-
getGenericProperties
public Map<String,Supplier<?>> getGenericProperties()
- Specified by:
getGenericProperties
in interfaceGenericRecord
-
-