Class UnicodeString

    • 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 truly 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.
      • 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.
      • 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 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.
      • 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.