Class EmptySequence

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

public final class EmptySequence extends Value
An EmptySequence object represents a sequence containing no members.
See Also:
  • Method Details

    • 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 - The context in which the expression is to be evaluated. Note that this context must contain a stackframe with sufficient slots to allow evaluation of any variables contained in the expression (including variables allocated internally by the optimizer)
      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
      Returns:
      one of the values StaticProperty.ALLOWS_ONE, StaticProperty.ALLOWS_ZERO_OR_MORE, StaticProperty.ALLOWS_ZERO_OR_ONE, StaticProperty.ALLOWS_ONE_OR_MORE, StaticProperty.EMPTY. This default implementation returns ZERO_OR_MORE (which effectively gives no information).
    • 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(Object other)
      Is this expression the same as another expression?
      Overrides:
      equals in class Value
      Throws:
      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, PrintStream out, Configuration config)
      Diagnostic print of expression structure
      Specified by:
      display in interface Expression
      Overrides:
      display in class Value
      Parameters:
      level - indentation level for this expression
      out - Output destination
      config -