BEA Systems, Inc.


weblogic.apache.xpath.objects
Class XNodeSet

java.lang.Object
  |
  +--weblogic.apache.xpath.Expression
        |
        +--weblogic.apache.xpath.objects.XObject
              |
              +--weblogic.apache.xpath.objects.XNodeSet
Direct Known Subclasses:
XNodeSetForDOM

public class XNodeSet
extends XObject

This class represents an XPath nodeset object, and is capable of converting the nodeset to other types, such as a string.

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

See Also:
Serialized Form

Field Summary
protected  weblogic.apache.xml.dtm.DTMManager m_dtmMgr
           
 
Fields inherited from class weblogic.apache.xpath.objects.XObject
CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE, m_obj
 
Fields inherited from class weblogic.apache.xpath.Expression
m_slocator
 
Constructor Summary
protected XNodeSet()
          Default constructor for derived objects.
  XNodeSet(weblogic.apache.xml.dtm.DTMIterator val)
          Construct a XNodeSet object.
  XNodeSet(weblogic.apache.xml.dtm.DTMManager dtmMgr)
          Construct an empty XNodeSet object.
  XNodeSet(int n, weblogic.apache.xml.dtm.DTMManager dtmMgr)
          Construct a XNodeSet object for one node.
 
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.
 boolean bool()
          Cast result object to a boolean.
 boolean boolWithSideEffects()
          Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.
 boolean compare(XObject obj2, weblogic.apache.xpath.objects.Comparator comparator)
          Tell if one object is less than the other.
 void detach()
          Detaches the DTMIterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
 void dispatchCharactersEvents(org.xml.sax.ContentHandler ch)
          Directly call the characters method on the passed ContentHandler for the string-value.
 boolean equals(XObject obj2)
          Tell if two objects are functionally equal.
 weblogic.apache.xml.dtm.DTMManager getDTMMgr()
           
 double getNumberFromNode(int n)
          Get numeric value of the string conversion from a single node.
 XMLString getStringFromNode(int n)
          Get the string conversion from a single node.
 int getType()
          Tell that this is a CLASS_NODESET.
 java.lang.String getTypeString()
          Given a request type, return the equivalent string.
 boolean greaterThan(XObject obj2)
          Tell if one object is less than the other.
 boolean greaterThanOrEqual(XObject obj2)
          Tell if one object is less than the other.
 weblogic.apache.xml.dtm.DTMIterator iter()
          Cast result object to a nodelist.
 weblogic.apache.xml.dtm.DTMIterator iterRaw()
          Return the iterator without cloning, etc.
 boolean lessThan(XObject obj2)
          Tell if one object is less than the other.
 boolean lessThanOrEqual(XObject obj2)
          Tell if one object is less than or equal to the other.
 NodeSetDTM mutableNodeset()
          Cast result object to a mutableNodeset.
 org.w3c.dom.NodeList nodelist()
          Cast result object to a nodelist.
 org.w3c.dom.traversal.NodeIterator nodeset()
          Cast result object to a nodelist.
 boolean notEquals(XObject obj2)
          Tell if two objects are functionally not equal.
 double num()
          Cast result object to a number.
 double numWithSideEffects()
          Cast result object to a number, but allow side effects, such as the incrementing of an iterator.
 java.lang.String str()
          Cast result object to a string.
 XMLString xstr()
          Cast result object to an XMLString.
 
Methods inherited from class weblogic.apache.xpath.objects.XObject
castToType, create, create, destruct, error, error, execute, fixupVariables, object, rtf, rtf, rtree, rtree, toString
 
Methods inherited from class weblogic.apache.xpath.Expression
asIterator, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, executeCharsToContentHandler, isNodesetExpr, isStableNumber, num, setSourceLocator, warn, xstr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_dtmMgr

protected weblogic.apache.xml.dtm.DTMManager m_dtmMgr
Constructor Detail

XNodeSet

protected XNodeSet()
Default constructor for derived objects.

XNodeSet

public XNodeSet(weblogic.apache.xml.dtm.DTMIterator val)
Construct a XNodeSet object.

Parameters:
val - Value of the XNodeSet object

XNodeSet

public XNodeSet(weblogic.apache.xml.dtm.DTMManager dtmMgr)
Construct an empty XNodeSet object. This is used to create a mutable nodeset to which random nodes may be added.

XNodeSet

public XNodeSet(int n,
                weblogic.apache.xml.dtm.DTMManager dtmMgr)
Construct a XNodeSet object for one node.

Parameters:
n - Node to add to the new XNodeSet object
Method Detail

getDTMMgr

public weblogic.apache.xml.dtm.DTMManager getDTMMgr()

getType

public int getType()
Tell that this is a CLASS_NODESET.

Returns:
type CLASS_NODESET
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 "#NODESET"
Overrides:
getTypeString in class XObject

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.

Returns:
numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
Overrides:
num in class XObject

numWithSideEffects

public double numWithSideEffects()
Cast result object to a number, but allow side effects, such as the incrementing of an iterator.

Returns:
numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
Overrides:
numWithSideEffects in class XObject

bool

public boolean bool()
Cast result object to a boolean.

Returns:
True if there is a next node in the nodeset
Overrides:
bool in class XObject

boolWithSideEffects

public boolean boolWithSideEffects()
Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.

Returns:
True if there is a next node in the nodeset
Overrides:
boolWithSideEffects in class XObject

getStringFromNode

public XMLString getStringFromNode(int n)
Get the string conversion from a single node.

Parameters:
n - Node to convert
Returns:
the string conversion from a single node.

dispatchCharactersEvents

public void dispatchCharactersEvents(org.xml.sax.ContentHandler ch)
                              throws org.xml.sax.SAXException
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.

Parameters:
ch - A non-null reference to a ContentHandler.
Throws:
org.xml.sax.SAXException -  
Overrides:
dispatchCharactersEvents 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

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.

Overrides:
detach in class XObject

str

public java.lang.String str()
Cast result object to a string.

Returns:
the string conversion from the next node in the nodeset or "" if there is no next node
Overrides:
str in class XObject

nodeset

public org.w3c.dom.traversal.NodeIterator nodeset()
                                           throws javax.xml.transform.TransformerException
Cast result object to a nodelist. Always issues an error.

Returns:
null
Throws:
javax.xml.transform.TransformerException -  
Overrides:
nodeset in class XObject

nodelist

public org.w3c.dom.NodeList nodelist()
                              throws javax.xml.transform.TransformerException
Cast result object to a nodelist. Always issues an error.

Returns:
null
Throws:
javax.xml.transform.TransformerException -  
Overrides:
nodelist in class XObject

iterRaw

public weblogic.apache.xml.dtm.DTMIterator iterRaw()
Return the iterator without cloning, etc.

iter

public weblogic.apache.xml.dtm.DTMIterator iter()
Cast result object to a nodelist.

Returns:
The nodeset as a nodelist
Overrides:
iter in class XObject

mutableNodeset

public NodeSetDTM mutableNodeset()
Cast result object to a mutableNodeset.

Returns:
The nodeset as a mutableNodeset
Overrides:
mutableNodeset in class XObject

compare

public boolean compare(XObject obj2,
                       weblogic.apache.xpath.objects.Comparator comparator)
                throws javax.xml.transform.TransformerException
Tell if one object is less than the other.

Parameters:
obj2 - Object to compare this nodeset to
comparator - Comparator to use
Returns:
See the comments below for each object type comparison
Throws:
javax.xml.transform.TransformerException -  

lessThan

public boolean lessThan(XObject obj2)
                 throws javax.xml.transform.TransformerException
Tell if one object is less than the other.

Parameters:
obj2 - object to compare this nodeset to
Returns:
see this.compare(...)
Throws:
javax.xml.transform.TransformerException -  
Overrides:
lessThan in class XObject

lessThanOrEqual

public boolean lessThanOrEqual(XObject obj2)
                        throws javax.xml.transform.TransformerException
Tell if one object is less than or equal to the other.

Parameters:
obj2 - object to compare this nodeset to
Returns:
see this.compare(...)
Throws:
javax.xml.transform.TransformerException -  
Overrides:
lessThanOrEqual in class XObject

greaterThan

public boolean greaterThan(XObject obj2)
                    throws javax.xml.transform.TransformerException
Tell if one object is less than the other.

Parameters:
obj2 - object to compare this nodeset to
Returns:
see this.compare(...)
Throws:
javax.xml.transform.TransformerException -  
Overrides:
greaterThan in class XObject

greaterThanOrEqual

public boolean greaterThanOrEqual(XObject obj2)
                           throws javax.xml.transform.TransformerException
Tell if one object is less than the other.

Parameters:
obj2 - object to compare this nodeset to
Returns:
see this.compare(...)
Throws:
javax.xml.transform.TransformerException -  
Overrides:
greaterThanOrEqual in class XObject

equals

public boolean equals(XObject obj2)
Tell if two objects are functionally equal.

Parameters:
obj2 - object to compare this nodeset to
Returns:
see this.compare(...)
Throws:
javax.xml.transform.TransformerException -  
Overrides:
equals in class XObject

notEquals

public boolean notEquals(XObject obj2)
                  throws javax.xml.transform.TransformerException
Tell if two objects are functionally not equal.

Parameters:
obj2 - object to compare this nodeset to
Returns:
see this.compare(...)
Throws:
javax.xml.transform.TransformerException -  
Overrides:
notEquals in class XObject

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs70

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference