net.sf.saxon.value
Class EmptySequence

java.lang.Object
  extended bynet.sf.saxon.value.Value
      extended bynet.sf.saxon.value.EmptySequence
All Implemented Interfaces:
Expression, java.io.Serializable, ValueRepresentation

public final class EmptySequence
extends Value

An EmptySequence object represents a sequence containing no members.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.value.Value
EMPTY_CLASS_ARRAY
 
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
 
Method Summary
 void display(int level, NamePool pool, java.io.PrintStream out)
          Diagnostic print of expression structure
 boolean effectiveBooleanValue(XPathContext context)
          Get the effective boolean value - always false
 boolean equals(java.lang.Object other)
          Is this expression the same as another expression?
 int getCardinality()
          Determine the static cardinality
 int getImplementationMethod()
          An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
static EmptySequence getInstance()
          Get the implicit instance of this class
 ItemType getItemType(TypeHierarchy th)
          Determine the item type
 int getLength()
          Get the length of the sequence
 int getSpecialProperties()
          Get the static properties of this expression (other than its type).
 int hashCode()
          Return a hash code to support the equals() function
 SequenceIterator iterate(XPathContext context)
          Return an iteration over the sequence
 
Methods inherited from class net.sf.saxon.value.Value
asItem, asIterator, asValue, checkPermittedContents, collapseWhitespace, convert, convertJavaObjectToXPath, convertToJava, evaluateAsString, evaluateItem, getDependencies, getIterator, getParentExpression, getStringValue, itemAt, iterateSubExpressions, makeQNameValue, normalizeWhitespace, optimize, process, promote, reduce, schemaEquals, simplify, stringToNumber, toString, trimWhitespace, typeCheck
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstance

public static EmptySequence getInstance()
Get the implicit instance of this class


getImplementationMethod

public int getImplementationMethod()
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process(). This method indicates which of these methods is prefered.


iterate

public SequenceIterator iterate(XPathContext context)
Return an iteration over the sequence

Parameters:
context - supplies the context for evaluation
Returns:
a SequenceIterator that can be used to iterate over the result of the expression

getItemType

public ItemType getItemType(TypeHierarchy th)
Determine the item type

Specified by:
getItemType in interface Expression
Overrides:
getItemType in class Value
Parameters:
th -
Returns:
for the default implementation: AnyItemType (not known)

getCardinality

public int getCardinality()
Determine the static cardinality

Specified by:
getCardinality in interface Expression
Overrides:
getCardinality in class Value

getSpecialProperties

public int getSpecialProperties()
Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown.

Specified by:
getSpecialProperties in interface Expression
Overrides:
getSpecialProperties in class Value
Returns:
StaticProperty.NON_CREATIVE

getLength

public final int getLength()
Get the length of the sequence

Overrides:
getLength in class Value
Returns:
always 0 for an empty sequence

equals

public boolean equals(java.lang.Object other)
Is this expression the same as another expression?

Overrides:
equals in class Value
Throws:
java.lang.ClassCastException - if the values are not comparable

hashCode

public int hashCode()
Description copied from class: Value
Return a hash code to support the equals() function

Overrides:
hashCode in class Value

effectiveBooleanValue

public boolean effectiveBooleanValue(XPathContext context)
Get the effective boolean value - always false

Specified by:
effectiveBooleanValue in interface Expression
Overrides:
effectiveBooleanValue in class Value
Parameters:
context - The context in which the expression is to be evaluated
Returns:
the effective boolean value

display

public void display(int level,
                    NamePool pool,
                    java.io.PrintStream out)
Diagnostic print of expression structure

Specified by:
display in interface Expression
Overrides:
display in class Value