org.apache.xpath.objects

Class XRTreeFrag

Implemented Interfaces:
Cloneable, Serializable, ExpressionNode, SourceLocator, XPathVisitable
Known Direct Subclasses:
XRTreeFragSelectWrapper

public class XRTreeFrag
extends XObject
implements 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

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

XRTreeFrag(int root, XPathContext xctxt)
Create an XRTreeFrag Object.
XRTreeFrag(int root, XPathContext xctxt, ExpressionNode parent)
Create an XRTreeFrag Object.
XRTreeFrag(Expression expr)
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. (special function).
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.
String
getTypeString()
Given a request type, return the equivalent string.
double
num()
Cast result object to a number.
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.
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

allowDetachToRelease, appendToFsb, bool, boolWithSideEffects, callVisitors, castToType, create, create, deepEquals, destruct, detach, dispatchCharactersEvents, equals, execute, fixupVariables, getFresh, getType, getTypeString, greaterThan, greaterThanOrEqual, iter, lessThan, lessThanOrEqual, mutableNodeset, nodelist, nodeset, notEquals, num, numWithSideEffects, object, reset, rtf, rtf, rtree, rtree, str, toString, xstr

Methods inherited from class org.apache.xpath.Expression

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

Constructor Details

XRTreeFrag

public XRTreeFrag(int root,
                  XPathContext xctxt)
Create an XRTreeFrag Object.

XRTreeFrag

public XRTreeFrag(int root,
                  XPathContext xctxt,
                  ExpressionNode parent)
Create an XRTreeFrag Object.

XRTreeFrag

public XRTreeFrag(Expression expr)
Create an XRTreeFrag Object.

Method Details

allowDetachToRelease

public void allowDetachToRelease(boolean allowRelease)
Specify if it's OK for detach to release the iterator for reuse.
Overrides:
allowDetachToRelease in interface XObject
Parameters:
allowRelease - true if it is OK for detach to release this iterator for pooling.

appendToFsb

public void appendToFsb(FastStringBuffer fsb)
Cast result object to a string.
Overrides:
appendToFsb in interface 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

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.
Overrides:
bool in interface XObject
Returns:
true

convertToNodeset

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

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 interface XObject

equals

public boolean equals(XObject obj2)
Tell if two objects are functionally equal.
Overrides:
equals in interface XObject
Parameters:
obj2 - Object to compare this to
Returns:
True if the two objects are equal

getType

public int getType()
Tell what kind of class this is.
Overrides:
getType in interface XObject
Returns:
type CLASS_RTREEFRAG

getTypeString

public String getTypeString()
Given a request type, return the equivalent string. For diagnostic purposes.
Overrides:
getTypeString in interface XObject
Returns:
type string "#RTREEFRAG"

num

public double num()
            throws javax.xml.transform.TransformerException
Cast result object to a number.
Overrides:
num in interface XObject
Returns:
The result tree fragment as a number or NaN

object

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

rtf

public int rtf()
Cast result object to a result tree fragment.
Overrides:
rtf in interface XObject
Returns:
The document fragment this wraps

str

public String str()
Cast result object to a string.
Overrides:
str in interface XObject
Returns:
The document fragment node data or the empty string.

xstr

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

Copyright B) 2006 Apache XML Project. All Rights Reserved.