com.icl.saxon.expr
Class EmptyNodeSet

java.lang.Object
  |
  +--com.icl.saxon.expr.Expression
        |
        +--com.icl.saxon.expr.Value
              |
              +--com.icl.saxon.expr.NodeSetValue
                    |
                    +--com.icl.saxon.expr.EmptyNodeSet

public final class EmptyNodeSet
extends NodeSetValue

A node-set value no nodes


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
EmptyNodeSet()
           
 
Method Summary
 boolean asBoolean()
          Evaluate as a boolean.
 java.lang.String asString()
          Convert to string value
 boolean contains(NodeInfo node)
          Determine whether a particular node is present in the nodeset.
 NodeEnumeration enumerate()
          Return an enumeration of this nodeset value.
 boolean equals(Value other)
          Test whether this 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)
 NodeInfo[] getNodes()
          Return the nodes in the node-set as an array.
 boolean isEmpty()
          Determine whether the node-set is empty.
 boolean isSingular()
          Determine whether the node-set is singular, that is, whether it has a single member.
 boolean isSorted()
          Test whether the value is known to be sorted
 boolean notEquals(Value other)
          Test whether this nodeset "not-equals" another Value
 void setSorted(boolean isSorted)
          Set a flag to indicate whether the nodes are sorted.
 NodeSetValue sort()
          Sort the nodes into document order.
 
Methods inherited from class com.icl.saxon.expr.NodeSetValue
asNumber, compare, enumerate, getDataType
 
Methods inherited from class com.icl.saxon.expr.Value
getDependencies, inverse, numericCompare, reduce, simplify, stringToNumber
 
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, make, outputStringValue, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EmptyNodeSet

public EmptyNodeSet()
Method Detail

evaluate

public Value evaluate(Context context)
               throws org.xml.sax.SAXException
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)
                               throws org.xml.sax.SAXException
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()
                          throws org.xml.sax.SAXException
Convert to string value
Overrides:
asString in class NodeSetValue
Returns:
an empty string

asBoolean

public boolean asBoolean()
                  throws org.xml.sax.SAXException
Evaluate as a boolean.
Overrides:
asBoolean in class NodeSetValue
Returns:
false

getCount

public int getCount()
             throws org.xml.sax.SAXException
Count the nodes in the node-set.
Overrides:
getCount in class NodeSetValue
Returns:
zero

isEmpty

public boolean isEmpty()
                throws org.xml.sax.SAXException
Determine whether the node-set is empty.
Overrides:
isEmpty in class NodeSetValue
Returns:
true

isSingular

public boolean isSingular()
                   throws org.xml.sax.SAXException
Determine whether the node-set is singular, that is, whether it has a single member.
Overrides:
isSingular in class NodeSetValue
Returns:
false

contains

public boolean contains(NodeInfo node)
                 throws org.xml.sax.SAXException
Determine whether a particular node is present in the nodeset.
Overrides:
contains in class NodeSetValue
Returns:
false

getNodes

public NodeInfo[] getNodes()
                    throws org.xml.sax.SAXException
Return the nodes in the node-set as an array. Note that they will only be in sorted order (with duplicates eliminated) if sort() is called first.
Overrides:
getNodes in class NodeSetValue
Returns:
an empty array

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:
null

equals

public boolean equals(Value other)
               throws org.xml.sax.SAXException
Test whether this 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 org.xml.sax.SAXException
Test whether this 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()
                          throws org.xml.sax.SAXException
Return an enumeration of this nodeset value.
Overrides:
enumerate in class NodeSetValue