Class XStringForChars

All Implemented Interfaces:
Serializable, Cloneable, SourceLocator, XMLString, ExpressionNode, XPathVisitable

public class XStringForChars extends XString
This class will wrap a FastStringBuffer and allow for
See Also:
  • Constructor Details

    • XStringForChars

      public XStringForChars(char[] val, int start, int length)
      Construct a XNodeSet object.
      Parameters:
      val - FastStringBuffer object this will wrap, must be non-null.
      start - The start position in the array.
      length - The number of characters to read from the array.
  • Method Details

    • fsb

      public FastStringBuffer fsb()
      Cast result object to a string.
      Returns:
      The string this wraps or the empty string if null
    • appendToFsb

      public void appendToFsb(FastStringBuffer fsb)
      Cast result object to a string.
      Overrides:
      appendToFsb in class XObject
    • hasString

      public boolean hasString()
      Tell if this object contains a java String object.
      Specified by:
      hasString in interface XMLString
      Overrides:
      hasString in class XString
      Returns:
      true if this XMLString can return a string without creating one.
    • str

      public String str()
      Cast result object to a string.
      Overrides:
      str in class XString
      Returns:
      The string this wraps or the empty string if null
    • object

      public Object object()
      Since this object is incomplete without the length and the offset, we have to convert to a string when this function is called.
      Overrides:
      object in class XObject
      Returns:
      The java String representation of this object.
    • dispatchCharactersEvents

      public void dispatchCharactersEvents(ContentHandler ch) throws SAXException
      Directly call the characters method on the passed ContentHandler for the string-value. Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.
      Specified by:
      dispatchCharactersEvents in interface XMLString
      Overrides:
      dispatchCharactersEvents in class XString
      Parameters:
      ch - A non-null reference to a ContentHandler.
      Throws:
      SAXException
    • dispatchAsComment

      public void dispatchAsComment(LexicalHandler lh) throws SAXException
      Directly call the comment method on the passed LexicalHandler for the string-value.
      Specified by:
      dispatchAsComment in interface XMLString
      Overrides:
      dispatchAsComment in class XString
      Parameters:
      lh - A non-null reference to a LexicalHandler.
      Throws:
      SAXException
    • length

      public int length()
      Returns the length of this string.
      Specified by:
      length in interface XMLString
      Overrides:
      length in class XString
      Returns:
      the length of the sequence of characters represented by this object.
    • charAt

      public char charAt(int index)
      Returns the character at the specified index. An index ranges from 0 to length() - 1. The first character of the sequence is at index 0, the next at index 1, and so on, as for array indexing.
      Specified by:
      charAt in interface XMLString
      Overrides:
      charAt in class XString
      Parameters:
      index - the index of the character.
      Returns:
      the character at the specified index of this string. The first character is at index 0.
      Throws:
      IndexOutOfBoundsException - if the index argument is negative or not less than the length of this string.
    • getChars

      public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
      Copies characters from this string into the destination character array.
      Specified by:
      getChars in interface XMLString
      Overrides:
      getChars in class XString
      Parameters:
      srcBegin - index of the first character in the string to copy.
      srcEnd - index after the last character in the string to copy.
      dst - the destination array.
      dstBegin - the start offset in the destination array.
      Throws:
      IndexOutOfBoundsException - If any of the following is true:
      • srcBegin is negative.
      • srcBegin is greater than srcEnd
      • srcEnd is greater than the length of this string
      • dstBegin is negative
      • dstBegin+(srcEnd-srcBegin) is larger than dst.length
      NullPointerException - if dst is null