Package org.apache.xpath.objects
Class XNodeSet
java.lang.Object
org.apache.xpath.Expression
org.apache.xpath.objects.XObject
org.apache.xpath.axes.NodeSequence
org.apache.xpath.objects.XNodeSet
- All Implemented Interfaces:
Serializable,Cloneable,SourceLocator,DTMIterator,PathComponent,ExpressionNode,XPathVisitable
- Direct Known Subclasses:
XNodeSetForDOM,XNull
public class XNodeSet extends NodeSequence
This class represents an XPath nodeset object, and is capable of
converting the nodeset to other types, such as a string.
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class org.apache.xpath.axes.NodeSequence
m_dtmMgr, m_iter, m_last, m_nextFields inherited from class org.apache.xpath.objects.XObject
CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE, m_objFields inherited from interface org.apache.xml.dtm.DTMIterator
FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP -
Constructor Summary
Constructors Modifier Constructor Description protectedXNodeSet()Default constructor for derived objects.XNodeSet(int n, DTMManager dtmMgr)Construct a XNodeSet object for one node.XNodeSet(DTMIterator val)Construct a XNodeSet object.XNodeSet(DTMManager dtmMgr)Construct an empty XNodeSet object.XNodeSet(XNodeSet val)Construct a XNodeSet object. -
Method Summary
Modifier and Type Method Description voidappendToFsb(FastStringBuffer fsb)Cast result object to a string.booleanbool()Cast result object to a boolean.booleanboolWithSideEffects()Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.booleancompare(XObject obj2, org.apache.xpath.objects.Comparator comparator)Tell if one object is less than the other.voiddispatchCharactersEvents(ContentHandler ch)Directly call the characters method on the passed ContentHandler for the string-value.booleanequals(XObject obj2)Tell if two objects are functionally equal.XObjectgetFresh()Get a fresh copy of the object.doublegetNumberFromNode(int n)Get numeric value of the string conversion from a single node.XMLStringgetStringFromNode(int n)Get the string conversion from a single node.intgetType()Tell that this is a CLASS_NODESET.StringgetTypeString()Given a request type, return the equivalent string.booleangreaterThan(XObject obj2)Tell if one object is less than the other.booleangreaterThanOrEqual(XObject obj2)Tell if one object is less than the other.DTMIteratoriter()Cast result object to a nodelist.DTMIteratoriterRaw()Return the iterator without cloning, etc.booleanlessThan(XObject obj2)Tell if one object is less than the other.booleanlessThanOrEqual(XObject obj2)Tell if one object is less than or equal to the other.NodeSetDTMmutableNodeset()Cast result object to a mutableNodeset.NodeListnodelist()Cast result object to a nodelist.NodeIteratornodeset()Cast result object to a nodelist.booleannotEquals(XObject obj2)Tell if two objects are functionally not equal.doublenum()Cast result object to a number.doublenumWithSideEffects()Cast result object to a number, but allow side effects, such as the incrementing of an iterator.Objectobject()Return a java object that's closest to the representation that should be handed to an extension.voidrelease(DTMIterator iter)Stringstr()Cast result object to a string.XMLStringxstr()Cast result object to an XMLString.Methods inherited from class org.apache.xpath.axes.NodeSequence
addNodeInDocOrder, allowDetachToRelease, clone, cloneWithReset, detach, fixupVariables, getAnalysisBits, getAxis, getContainedIter, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getIteratorCache, getLength, getRoot, getVector, getWhatToShow, hasCache, isDocOrdered, isFresh, isMutable, item, nextNode, previousNode, reset, runTo, setCurrentPos, setItem, setIter, setObject, setRoot, setShouldCacheNodes, SetVectorMethods inherited from class org.apache.xpath.objects.XObject
callVisitors, castToType, create, create, deepEquals, destruct, error, error, execute, rtf, rtf, rtree, rtree, toStringMethods 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, isSameClass, isStableNumber, num, warn, xstr
-
Constructor Details
-
XNodeSet
protected XNodeSet()Default constructor for derived objects. -
XNodeSet
Construct a XNodeSet object.- Parameters:
val- Value of the XNodeSet object
-
XNodeSet
Construct a XNodeSet object.- Parameters:
val- Value of the XNodeSet object
-
XNodeSet
Construct an empty XNodeSet object. This is used to create a mutable nodeset to which random nodes may be added. -
XNodeSet
Construct a XNodeSet object for one node.- Parameters:
n- Node to add to the new XNodeSet object
-
-
Method Details
-
getType
public int getType()Tell that this is a CLASS_NODESET. -
getTypeString
Given a request type, return the equivalent string. For diagnostic purposes.- Overrides:
getTypeStringin classXObject- Returns:
- type string "#NODESET"
-
getNumberFromNode
public double getNumberFromNode(int n)Get numeric value of the string conversion from a single node.- Parameters:
n- Node to convert- Returns:
- numeric value of the string conversion from a single node.
-
num
public double num()Cast result object to a number. -
numWithSideEffects
public double numWithSideEffects()Cast result object to a number, but allow side effects, such as the incrementing of an iterator.- Overrides:
numWithSideEffectsin classXObject- Returns:
- numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
-
bool
public boolean bool()Cast result object to a boolean. -
boolWithSideEffects
public boolean boolWithSideEffects()Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.- Overrides:
boolWithSideEffectsin classXObject- Returns:
- True if there is a next node in the nodeset
-
getStringFromNode
Get the string conversion from a single node.- Parameters:
n- Node to convert- Returns:
- the string conversion from a single node.
-
dispatchCharactersEvents
Directly call the characters method on the passed ContentHandler for the string-value. Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.- Overrides:
dispatchCharactersEventsin classXObject- Parameters:
ch- A non-null reference to a ContentHandler.- Throws:
SAXException
-
xstr
Cast result object to an XMLString. -
appendToFsb
Cast result object to a string.- Overrides:
appendToFsbin classXObject
-
str
Cast result object to a string. -
object
Return a java object that's closest to the representation that should be handed to an extension. -
nodeset
Cast result object to a nodelist.- Overrides:
nodesetin classXObject- Returns:
- a NodeIterator.
- Throws:
TransformerException
-
nodelist
Cast result object to a nodelist.- Overrides:
nodelistin classXObject- Returns:
- a NodeList.
- Throws:
TransformerException
-
iterRaw
Return the iterator without cloning, etc. -
release
-
iter
Cast result object to a nodelist. -
getFresh
Get a fresh copy of the object. For use with variables. -
mutableNodeset
Cast result object to a mutableNodeset.- Overrides:
mutableNodesetin classXObject- Returns:
- The nodeset as a mutableNodeset
-
compare
public boolean compare(XObject obj2, org.apache.xpath.objects.Comparator comparator) throws TransformerExceptionTell if one object is less than the other.- Parameters:
obj2- Object to compare this nodeset tocomparator- Comparator to use- Returns:
- See the comments below for each object type comparison
- Throws:
TransformerException
-
lessThan
Tell if one object is less than the other.- Overrides:
lessThanin classXObject- Parameters:
obj2- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
lessThanOrEqual
Tell if one object is less than or equal to the other.- Overrides:
lessThanOrEqualin classXObject- Parameters:
obj2- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
greaterThan
Tell if one object is less than the other.- Overrides:
greaterThanin classXObject- Parameters:
obj2- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
greaterThanOrEqual
Tell if one object is less than the other.- Overrides:
greaterThanOrEqualin classXObject- Parameters:
obj2- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
equals
Tell if two objects are functionally equal.- Overrides:
equalsin classXObject- Parameters:
obj2- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
notEquals
Tell if two objects are functionally not equal.- Overrides:
notEqualsin classXObject- Parameters:
obj2- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-