## org.apache.xpath.objects
Class XRTreeFrag

    java.lang.Object
      |
      +--org.apache.xpath.Expression
            |
            +--org.apache.xpath.objects.XObject
                  |
                  +--org.apache.xpath.objects.XRTreeFrag

Direct Known Subclasses:
  XRTreeFragSelectWrapper

public class XRTreeFrag
extends XObject
implements java.lang.Cloneable

This class represents an XPath result tree fragment object, and is capable of converting the RTF to other types, such as a string.

See Also:
  Serialized Form
Usage:

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
`XRTreeFrag(Expression expr)` Create an XRTreeFrag Object.
`XRTreeFrag(int root, XPathContext xctxt)` Create an XRTreeFrag Object.
`XRTreeFrag(int root, XPathContext xctxt, ExpressionNode parent)` Create an XRTreeFrag Object.

Method Summary
`void` `allowDetachToRelease(boolean allowRelease)` Specify if it's OK for detach to release the iterator for reuse.
`void` `appendToFsb(FastStringBuffer fsb)` Cast result object to a string.
`DTMIterator` `asNodeIterator()` Cast result object to a DTMIterator.
`boolean` `bool()` Cast result object to a boolean.
`NodeList` `convertToNodeset()` Cast result object to a nodelist.
`void` `detach()` Detaches the `DTMIterator` from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
`boolean` `equals(XObject obj2)` Tell if two objects are functionally equal.
`int` `getType()` Tell what kind of class this is.
`java.lang.String` `getTypeString()` Given a request type, return the equivalent string.
`double` `num()` Cast result object to a number.
`java.lang.Object` `object()` Return a java object that's closest to the representation that should be handed to an extension.
`int` `rtf()` Cast result object to a result tree fragment.
`java.lang.String` `str()` Cast result object to a string.
`XMLString` `xstr()` Cast result object to an XMLString.

Methods inherited from class org.apache.xpath.objects.XObject
`boolWithSideEffects, callVisitors, castToType, create, create, deepEquals, destruct, dispatchCharactersEvents, 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
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XRTreeFrag

    public XRTreeFrag(int root,
                      XPathContext xctxt,
                      ExpressionNode parent)

  Create an XRTreeFrag Object.

### XRTreeFrag

    public XRTreeFrag(int root,
                      XPathContext xctxt)

  Create an XRTreeFrag Object.

### XRTreeFrag

    public XRTreeFrag(Expression expr)

  Create an XRTreeFrag Object.

Method Detail

### object

    public java.lang.Object object()

  Return a java object that's closest to the representation that should be handed to an extension.
  Returns:
    The object that this class wraps
  Overrides:
    object in class XObject

### allowDetachToRelease

    public void allowDetachToRelease(boolean allowRelease)

  Specify if it's OK for detach to release the iterator for reuse.
  Parameters:
    `allowRelease` - true if it is OK for detach to release this iterator for pooling.
  Overrides:
    allowDetachToRelease in class XObject

### detach

    public void detach()

  Detaches the `DTMIterator` from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. After `detach` has been invoked, calls to `nextNode` or `previousNode` will raise a runtime exception. In general, detach should only be called once on the object.
  Overrides:
    detach in class XObject

### getType

    public int getType()

  Tell what kind of class this is.
  Returns:
    type CLASS_RTREEFRAG
  Overrides:
    getType in class XObject

### getTypeString

    public java.lang.String getTypeString()

  Given a request type, return the equivalent string. For diagnostic purposes.
  Returns:
    type string "#RTREEFRAG"
  Overrides:
    getTypeString in class XObject

### num

    public double num()
               throws TransformerException

  Cast result object to a number.
  Returns:
    The result tree fragment as a number or NaN
  Overrides:
    num in class XObject

### bool

    public boolean bool()

  Cast result object to a boolean. This always returns true for a RTreeFrag because it is treated like a node-set with a single root node.
  Returns:
    true
  Overrides:
    bool in class XObject

### xstr

    public XMLString xstr()

  Cast result object to an XMLString.
  Returns:
    The document fragment node data or the empty string.
  Overrides:
    xstr in class XObject

### appendToFsb

    public void appendToFsb(FastStringBuffer fsb)

  Cast result object to a string.
  Returns:
    The string this wraps or the empty string if null
  Overrides:
    appendToFsb in class XObject

### str

    public java.lang.String str()

  Cast result object to a string.
  Returns:
    The document fragment node data or the empty string.
  Overrides:
    str in class XObject

### rtf

    public int rtf()

  Cast result object to a result tree fragment.
  Returns:
    The document fragment this wraps
  Overrides:
    rtf in class XObject

### asNodeIterator

    public DTMIterator asNodeIterator()

  Cast result object to a DTMIterator. dml - modified to return an RTFIterator for benefit of EXSLT object-type function in `ExsltCommon`.
  Returns:
    The document fragment as a DTMIterator

### convertToNodeset

    public NodeList convertToNodeset()

  Cast result object to a nodelist. (special function).
  Returns:
    The document fragment as a nodelist

### equals

    public boolean equals(XObject obj2)

  Tell if two objects are functionally equal.
  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if the two objects are equal
  Throws:
    TransformerException -
  Overrides:
    equals in class XObject

Copyright © 2006 Apache XML Project. All Rights Reserved.