Class 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)
    • 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

      • 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()
      • 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()
      • 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()
      • getDebugInfo

        public String getDebugInfo()
        return a character representation of the fields of this record
        Returns:
        String of output for biffviewer etc.
      • setCompressedUnicode

        public void setCompressedUnicode()
      • setUncompressedUnicode

        public void setUncompressedUnicode()
      • getSid

        public short getSid()
      • isRichText

        public boolean isRichText()
      • isExtendedText

        public boolean isExtendedText()