## 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
`XStringForChars(char[] val, int start, int length)` Construct a XNodeSet object.

Method Summary
`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, 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, 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 © 2005 Apache XML Project. All Rights Reserved.