org.apache.xpath.objects

## Class XStringForChars

- java.lang.Object
- - org.apache.xpath.Expression
  - - org.apache.xpath.objects.XObject
    - - org.apache.xpath.objects.XString
      - - org.apache.xpath.objects.XStringForChars

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, XMLString, ExpressionNode, XPathVisitable

      public class XStringForChars
      extends XString

  This class will wrap a FastStringBuffer and allow for
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.xpath.objects.XString

      `EMPTYSTRING`

    - ### Fields inherited from class org.apache.xpath.objects.XObject

      `CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XStringForChars(char[] val, int start, int length)` Construct a XNodeSet object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `appendToFsb(FastStringBuffer fsb)` Cast result object to a string.
    `char` | `charAt(int index)` Returns the character at the specified index.
    `void` | `dispatchAsComment(org.xml.sax.ext.LexicalHandler lh)` Directly call the comment method on the passed LexicalHandler for the string-value.
    `void` | `dispatchCharactersEvents(org.xml.sax.ContentHandler ch)` Directly call the characters method on the passed ContentHandler for the string-value.
    `FastStringBuffer` | `fsb()` Cast result object to a string.
    `void` | `getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)` Copies characters from this string into the destination character array.
    `boolean` | `hasString()` Tell if this object contains a java String object.
    `int` | `length()` Returns the length of this string.
    `java.lang.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.
    `java.lang.String` | `str()` Cast result object to a string.

    - ### Methods inherited from class org.apache.xpath.objects.XString

      `bool, callVisitors, compareTo, compareToIgnoreCase, concat, endsWith, equals, equals, equals, equals, equalsIgnoreCase, fixWhiteSpace, getType, getTypeString, hashCode, indexOf, indexOf, indexOf, indexOf, indexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, num, rtf, startsWith, startsWith, startsWith, startsWith, substring, substring, toDouble, toLowerCase, toLowerCase, toUpperCase, toUpperCase, trim, xstr`

    - ### Methods inherited from class org.apache.xpath.objects.XObject

      `allowDetachToRelease, boolWithSideEffects, castToType, create, create, deepEquals, destruct, detach, execute, fixupVariables, getFresh, greaterThan, greaterThanOrEqual, iter, lessThan, lessThanOrEqual, mutableNodeset, nodelist, nodeset, notEquals, numWithSideEffects, reset, rtf, rtree, rtree, toString`

    - ### Methods inherited from class org.apache.xpath.Expression

      `asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.xml.utils.XMLString

      `toString`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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 java.lang.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 java.lang.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(org.xml.sax.ContentHandler ch)
                                        throws org.xml.sax.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:
        `org.xml.sax.SAXException`

    - #### dispatchAsComment

          public void dispatchAsComment(org.xml.sax.ext.LexicalHandler lh)
                                 throws org.xml.sax.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:
        `org.xml.sax.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:
        `java.lang.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:
        `java.lang.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`
        `java.lang.NullPointerException` - if `dst` is `null`

Copyright © 2023 Apache XML Project. All Rights Reserved.