Google

: Class SingletonNodeSet

com.icl.saxon.expr
Class SingletonNodeSet


java.lang.Object

  |

  +--com.icl.saxon.expr.Expression

        |

        +--com.icl.saxon.expr.Value

              |

              +--com.icl.saxon.expr.NodeSetValue

                    |

                    +--com.icl.saxon.expr.SingletonNodeSet

All Implemented Interfaces:
org.w3c.dom.NodeList
Direct Known Subclasses:
FragmentValue, TextFragmentValue

public class SingletonNodeSet
extends NodeSetValue
implements org.w3c.dom.NodeList

A node-set value containing zero or one nodes


Field Summary
protected  boolean generalUseAllowed
           
protected  NodeInfo node
           
 
Fields inherited from class com.icl.saxon.expr.Value
ANY, BOOLEAN, NODESET, NUMBER, OBJECT, STRING
 
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
 
Constructor Summary
SingletonNodeSet()
          Create an empty node-set
SingletonNodeSet(NodeInfo node)
          Create a node-set containing one node
 
Method Summary
 void allowGeneralUse()
          Allow general use as a node-set.
 boolean asBoolean()
          Evaluate as a boolean.
 java.lang.String asString()
          Convert to string value
 NodeEnumeration enumerate()
          Return an enumeration of this nodeset value.
 boolean equals(Value other)
          Test whether a nodeset "equals" another Value
 Value evaluate(Context context)
          Evaluate the Node Set.
 NodeSetValue evaluateAsNodeSet(Context context)
          Evaluate an expression as a NodeSet.
 int getCount()
          Count the nodes in the node-set.
 NodeInfo getFirst()
          Get the first node in the nodeset (in document order)
 int getLength()
          return the number of nodes in the list (DOM method)
 boolean isGeneralUseAllowed()
          Determine if general use as a node-set is allowed
 boolean isSorted()
          Test whether the value is known to be sorted
 org.w3c.dom.Node item(int index)
          Return the n'th item in the list (DOM method)
 boolean notEquals(Value other)
          Test whether a nodeset "not-equals" another Value
 void setSorted(boolean isSorted)
          Set a flag to indicate whether the nodes are sorted.
 Expression simplify()
          Simplify the expression
 NodeSetValue sort()
          Sort the nodes into document order.
 
Methods inherited from class com.icl.saxon.expr.NodeSetValue
asNumber, compare, conversionPreference, convertToJava, display, enumerate, getDataType
 
Methods inherited from class com.icl.saxon.expr.Value
getDependencies, inverse, numericCompare, reduce, stringToNumber
 
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

node


protected NodeInfo node

generalUseAllowed


protected boolean generalUseAllowed
Constructor Detail

SingletonNodeSet


public SingletonNodeSet()
Create an empty node-set

SingletonNodeSet


public SingletonNodeSet(NodeInfo node)
Create a node-set containing one node
Method Detail

allowGeneralUse


public void allowGeneralUse()
Allow general use as a node-set. This is required to lift the 1.0 restrictions on use of result tree fragments

isGeneralUseAllowed


public boolean isGeneralUseAllowed()
Determine if general use as a node-set is allowed

simplify


public Expression simplify()
Simplify the expression
Overrides:
simplify in class Value
Following copied from class: com.icl.saxon.expr.Value
Returns:
the simplified expression

evaluate


public Value evaluate(Context context)
Evaluate the Node Set. This guarantees to return the result in sorted order.
Overrides:
evaluate in class NodeSetValue
Parameters:
context - The context for evaluation (not used)

evaluateAsNodeSet


public NodeSetValue evaluateAsNodeSet(Context context)
Evaluate an expression as a NodeSet.
Overrides:
evaluateAsNodeSet in class NodeSetValue
Parameters:
context - The context in which the expression is to be evaluated
Returns:
the value of the expression, evaluated in the current context

setSorted


public void setSorted(boolean isSorted)
Set a flag to indicate whether the nodes are sorted. Used when the creator of the node-set knows that they are already in document order.
Overrides:
setSorted in class NodeSetValue
Parameters:
isSorted - true if the caller wishes to assert that the nodes are in document order and do not need to be further sorted

isSorted


public boolean isSorted()
Test whether the value is known to be sorted
Overrides:
isSorted in class NodeSetValue
Returns:
true if the value is known to be sorted in document order, false if it is not known whether it is sorted.

asString


public java.lang.String asString()
Convert to string value
Overrides:
asString in class NodeSetValue
Returns:
the value of the first node in the node-set if there is one, otherwise an empty string

asBoolean


public boolean asBoolean()
Evaluate as a boolean.
Overrides:
asBoolean in class NodeSetValue
Returns:
true if the node set is not empty

getCount


public int getCount()
Count the nodes in the node-set. Note this will sort the node set if necessary, to make sure there are no duplicates.
Overrides:
getCount in class NodeSetValue

sort


public NodeSetValue sort()
Sort the nodes into document order. This does nothing if the nodes are already known to be sorted; to force a sort, call setSorted(false)
Overrides:
sort in class NodeSetValue
Returns:
the same NodeSetValue, after sorting. (Historic)

getFirst


public NodeInfo getFirst()
Get the first node in the nodeset (in document order)
Overrides:
getFirst in class NodeSetValue
Returns:
the first node

equals


public boolean equals(Value other)
               throws XPathException
Test whether a nodeset "equals" another Value
Overrides:
equals in class NodeSetValue
Following copied from class: com.icl.saxon.expr.Value
Returns:
a boolean giving the value of the expression, evaluated in the current context

notEquals


public boolean notEquals(Value other)
                  throws XPathException
Test whether a nodeset "not-equals" another Value
Overrides:
notEquals in class NodeSetValue
Following copied from class: com.icl.saxon.expr.Value
Returns:
a boolean giving the value of the expression, evaluated in the current context

enumerate


public NodeEnumeration enumerate()
Return an enumeration of this nodeset value.
Overrides:
enumerate in class NodeSetValue

getLength


public int getLength()
return the number of nodes in the list (DOM method)
Specified by:
getLength in interface org.w3c.dom.NodeList

item


public org.w3c.dom.Node item(int index)
Return the n'th item in the list (DOM method)
Specified by:
item in interface org.w3c.dom.NodeList