Class WhitespaceString

java.lang.Object
net.sf.saxon.str.UnicodeString
net.sf.saxon.str.WhitespaceString
All Implemented Interfaces:
Comparable<UnicodeString>, AtomicMatchKey
Direct Known Subclasses:
CompressedWhitespace, IndentWhitespace

public abstract class WhitespaceString extends UnicodeString
This abstract class represents a couple of different implementations of strings containing whitespace only.
  • Constructor Details

    • WhitespaceString

      public WhitespaceString()
  • Method Details

    • uncompress

      public abstract UnicodeString uncompress()
      Uncompress the whitespace to a (normal) UnicodeString
      Returns:
      the uncompressed value
    • getWidth

      public int getWidth()
      Description copied from class: UnicodeString
      Get the number of bits needed to hold all the characters in this string
      Specified by:
      getWidth in class UnicodeString
      Returns:
      7 for ascii characters (not used??), 8 for latin-1, 16 for BMP, 24 for general Unicode.
    • substring

      public UnicodeString substring(long start, long end)
      Returns a new UnicodeString that is a subsequence of this sequence. The subsequence starts with the codepoint value at the specified index and ends with the codepoint value at index end - 1. The length (in codepoints) of thereturned sequence is end - start, so if start == end then an empty sequence is returned.
      Specified by:
      substring in class UnicodeString
      Parameters:
      start - the start index, inclusive
      end - the end index, exclusive
      Returns:
      the specified subsequence
      Throws:
      IndexOutOfBoundsException - if start or end are negative, if end is greater than length(), or if start is greater than end
    • indexOf

      public long indexOf(int codePoint, long from)
      Description copied from class: UnicodeString
      Get the position of the first occurrence of the specified codepoint, starting the search at a given position in the string
      Specified by:
      indexOf in class UnicodeString
      Parameters:
      codePoint - the sought codePoint
      from - the position from which the search should start (0-based). A negative value is treated as zero. A position beyond the end of the string results in a return value of -1 (meaning not found).
      Returns:
      the position (0-based) of the first occurrence found, or -1 if not found
    • indexWhere

      public long indexWhere(IntPredicate predicate, long from)
      Description copied from class: UnicodeString
      Get the position of the first occurrence of a codepoint that matches a supplied predicate, starting the search at a given position in the string
      Specified by:
      indexWhere in class UnicodeString
      Parameters:
      predicate - condition that the codepoint must satisfy
      from - the position from which the search should start (0-based). A negative value is treated as zero. A position beyond the end of the string results in a return value of -1 (meaning not found).
      Returns:
      the position (0-based) of the first codepoint to match the predicate, or -1 if not found
    • toString

      public String toString()
      Returns a string representation of the object.
      Overrides:
      toString in class Object
    • write

      public abstract void write(UnicodeWriter writer) throws IOException
      Write the value to a UnicodeWriter
      Parameters:
      writer - the writer to write to
      Throws:
      IOException - if an error occurs downstream
    • writeEscape

      public abstract void writeEscape(boolean[] specialChars, UnicodeWriter writer) throws IOException
      Write the value to a Writer with escaping of special characters
      Parameters:
      specialChars - identifies which characters are considered special
      writer - the writer to write to
      Throws:
      IOException - if an error occurs downstream