Class UnicodeString

java.lang.Object
loci.poi.hssf.record.UnicodeString
All Implemented Interfaces:
Comparable

public class UnicodeString extends Object implements Comparable
Title: Unicode String

Description: 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)
  • Field Details

  • Constructor Details

    • 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 Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(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:
      equals in class 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 String getString()
      get the actual string this contains as a java String object
      Returns:
      String
    • setString

      public void setString(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 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 String toString()
      unlike the real records we return the same as "getString()" rather than debug info
      Overrides:
      toString in class Object
      Returns:
      String value of the record
      See Also:
    • getDebugInfo

      public 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(Object obj)
      Specified by:
      compareTo in interface Comparable
    • isRichText

      public boolean isRichText()
    • isExtendedText

      public boolean isExtendedText()
    • clone

      public Object clone()
      Overrides:
      clone in class Object