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.