org.apache.xpath.objects

## Class XRTreeFragSelectWrapper

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

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, SourceLocator, ExpressionNode, XPathVisitable

    public class XRTreeFragSelectWrapper
    extends XRTreeFrag
    implements java.lang.Cloneable

This class makes an select statement act like an result tree fragment.

See Also:
  Serialized Form

### Field Summary

### 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
`XRTreeFragSelectWrapper(Expression expr)`

### Method Summary

Methods
`DTMIterator` `asNodeIterator()` Cast result object to a DTMIterator.
`void` `detach()` Detaches the `DTMIterator` from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
`XObject` `execute(XPathContext xctxt)` For support of literal objects in xpaths.
`void` `fixupVariables(java.util.Vector vars, int globalsSize)` This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
`int` `getType()` Tell what kind of class this is.
`double` `num()` Cast result object to a number.
`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.XRTreeFrag

`allowDetachToRelease, appendToFsb, bool, convertToNodeset, equals, getTypeString, object`

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

`boolWithSideEffects, callVisitors, castToType, create, create, deepEquals, destruct, dispatchCharactersEvents, 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

#### XRTreeFragSelectWrapper

    public XRTreeFragSelectWrapper(Expression expr)

### Method Detail

#### fixupVariables

    public void fixupVariables(java.util.Vector vars,
                      int globalsSize)

This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.

Overrides:
  `fixupVariables` in class `XObject`
Parameters:
  `vars` - List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).

#### execute

    public XObject execute(XPathContext xctxt)
                    throws TransformerException

For support of literal objects in xpaths.

Overrides:
  `execute` in class `XObject`
Parameters:
  `xctxt` - The XPath execution context.
Returns:
  the result of executing the select expression
Throws:
  `TransformerException`

#### 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 `XRTreeFrag`

#### num

    public double num()
               throws TransformerException

Cast result object to a number.

Overrides:
  `num` in class `XRTreeFrag`
Returns:
  The result tree fragment as a number or NaN
Throws:
  `TransformerException`

#### xstr

    public XMLString xstr()

Cast result object to an XMLString.

Overrides:
  `xstr` in class `XRTreeFrag`
Returns:
  The document fragment node data or the empty string.

#### str

    public java.lang.String str()

Cast result object to a string.

Overrides:
  `str` in class `XRTreeFrag`
Returns:
  The document fragment node data or the empty string.

#### getType

    public int getType()

Tell what kind of class this is.

Overrides:
  `getType` in class `XRTreeFrag`
Returns:
  the string type

#### rtf

    public int rtf()

Cast result object to a result tree fragment.

Overrides:
  `rtf` in class `XRTreeFrag`
Returns:
  The document fragment this wraps

#### asNodeIterator

    public DTMIterator asNodeIterator()

Cast result object to a DTMIterator.

Overrides:
  `asNodeIterator` in class `XRTreeFrag`
Returns:
  The document fragment as a DTMIterator