Class StyledString

java.lang.Object
org.eclipse.jface.viewers.StyledString
All Implemented Interfaces:
CharSequence

public class StyledString extends Object implements CharSequence
A mutable string with styled ranges. All ranges mark substrings of the string and do not overlap. Styles are applied using instances of StyledString.Styler to compute the result of getStyleRanges(). The styled string can be built in the following two ways:
  • new strings with stylers can be appended
  • stylers can by applied to ranges of the existing string

This class may be instantiated; it is not intended to be subclassed.

Since:
3.4
  • Field Details

  • Constructor Details

    • StyledString

      public StyledString()
      Creates an empty StyledString.
    • StyledString

      public StyledString(String string)
      Creates an StyledString initialized with a string without a style associated.
      Parameters:
      string - the string
    • StyledString

      public StyledString(String string, StyledString.Styler styler)
      Creates an StyledString initialized with a string and a style.
      Parameters:
      string - the string
      styler - the styler for the string or null to not associated a styler.
  • Method Details

    • createColorRegistryStyler

      public static StyledString.Styler createColorRegistryStyler(String foregroundColorName, String backgroundColorName)
      Creates a styler that takes the given foreground and background colors from the JFace color registry.
      Parameters:
      foregroundColorName - the color name for the foreground color
      backgroundColorName - the color name for the background color
      Returns:
      the created style
    • getString

      public String getString()
      Returns the string of this StyledString.
      Returns:
      the current string of this StyledString.
    • toString

      public String toString()
      Returns the string of this StyledString.
      Specified by:
      toString in interface CharSequence
      Overrides:
      toString in class Object
      Returns:
      the current string of this StyledString.
    • length

      public int length()
      Returns the length of the string of this StyledString.
      Specified by:
      length in interface CharSequence
      Returns:
      the length of the current string
    • subSequence

      public CharSequence subSequence(int start, int end)
      Specified by:
      subSequence in interface CharSequence
      Since:
      3.12
    • charAt

      public char charAt(int index)
      Specified by:
      charAt in interface CharSequence
      Since:
      3.12
    • append

      public StyledString append(String string)
      Appends a string to the StyledString. The appended string will have no associated styler.
      Parameters:
      string - the string to append
      Returns:
      returns a reference to this object
    • append

      public StyledString append(char[] chars)
      Appends the string representation of the given character array to the StyledString. The appended character array will have no associated styler.
      Parameters:
      chars - the character array to append
      Returns:
      returns a reference to this object
    • append

      public StyledString append(char ch)
      Appends the string representation of the given character to the StyledString. The appended character will have no associated styler.
      Parameters:
      ch - the character to append
      Returns:
      returns a reference to this object
    • append

      public StyledString append(StyledString string)
      Appends a string with styles to the StyledString.
      Parameters:
      string - the string to append
      Returns:
      returns a reference to this object
    • append

      public StyledString append(char ch, StyledString.Styler styler)
      Appends the string representation of the given character with a style to the StyledString. The appended character will have the given style associated.
      Parameters:
      ch - the character to append
      styler - the styler to use for styling the character to append or null if no styler should be associated with the appended character
      Returns:
      returns a reference to this object
    • append

      public StyledString append(String string, StyledString.Styler styler)
      Appends a string with a style to the StyledString. The appended string will be styled using the given styler.
      Parameters:
      string - the string to append
      styler - the styler to use for styling the string to append or null if no styler should be associated with the appended string.
      Returns:
      returns a reference to this object
    • append

      public StyledString append(char[] chars, StyledString.Styler styler)
      Appends the string representation of the given character array with a style to the StyledString. The appended character array will be styled using the given styler.
      Parameters:
      chars - the character array to append
      styler - the styler to use for styling the character array to append or null if no styler should be associated with the appended character array
      Returns:
      returns a reference to this object
    • insert

      public StyledString insert(char ch, int offset) throws StringIndexOutOfBoundsException
      Inserts the character at the given offset. The inserted character will get the styler that is already at the given offset.
      Parameters:
      ch - the character to insert
      offset - the insertion index
      Returns:
      returns a reference to this object
      Throws:
      StringIndexOutOfBoundsException - if offset is less than zero, or if offset is greater than the length of this object
      Since:
      3.5
    • setStyle

      public void setStyle(int offset, int length, StyledString.Styler styler) throws StringIndexOutOfBoundsException
      Sets a styler to use for the given source range. The range must be subrange of actual string of this StyledString. Stylers previously set for that range will be overwritten.
      Parameters:
      offset - the start offset of the range
      length - the length of the range
      styler - the styler to set
      Throws:
      StringIndexOutOfBoundsException - if start is less than zero, or if offset plus length is greater than the length of this object.
    • getStyleRanges

      public StyleRange[] getStyleRanges()
      Returns an array of StyleRange resulting from applying all associated stylers for this string builder.
      Returns:
      an array of all StyleRange resulting from applying the stored stylers to this string.