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

Nested Class Summary

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
destruct()
Forces the object to release it's resources.
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.

Parameters:


XRTreeFrag

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

Parameters:


XRTreeFrag

public XRTreeFrag(Expression expr)
Create an XRTreeFrag Object.

Parameters:

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


destruct

public void destruct()
Forces the object to release it's resources. This is more harsh than detach(). You can call destruct as many times as you want.
Overrides:
destruct in interface 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 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 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) 2004 Apache XML Project. All Rights Reserved.