net.sf.saxon.value
Class EmptySequence

java.lang.Object
  extended by net.sf.saxon.value.Value
      extended by net.sf.saxon.value.EmptySequence
All Implemented Interfaces:
Serializable, SequenceIterable, GroundedValue, ValueRepresentation

public final class EmptySequence
extends Value
implements GroundedValue

An EmptySequence object represents a sequence containing no members.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.value.Value
INDETERMINATE_ORDERING
 
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
 
Method Summary
 Item asItem()
          Return the value in the form of an Item
 boolean effectiveBooleanValue()
          Get the effective boolean value - always false
 boolean equals(Object other)
          Is this expression the same as another expression?
 int getCardinality()
          Determine the static cardinality
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 hashCode()
           
 Item itemAt(int n)
          Get the n'th item in the sequence (starting from 0).
 SequenceIterator iterate()
          Return an iteration over the sequence
 GroundedValue subsequence(int min, int length)
          Get a subsequence of the value
 
Methods inherited from class net.sf.saxon.value.Value
asItem, asIterator, asValue, checkPermittedContents, convertToJava, fromItem, getCanonicalLexicalRepresentation, getIterator, getSchemaComparable, getStringValue, getStringValueCS, isIdentical, iterate, process, reduce
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.om.ValueRepresentation
getStringValue, getStringValueCS
 

Method Detail

getInstance

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


iterate

public SequenceIterator iterate()
Return an iteration over the sequence

Specified by:
iterate in class Value
Returns:
an iterator over the sequence of items

asItem

public Item asItem()
Return the value in the form of an Item

Overrides:
asItem in class Value
Returns:
the value in the form of an Item

getItemType

public ItemType getItemType(TypeHierarchy th)
Determine the item type

Overrides:
getItemType in class Value
Parameters:
th - the type hierarchy cache
Returns:
for the default implementation: AnyItemType (not known)

getCardinality

public int getCardinality()
Determine the static cardinality

Overrides:
getCardinality in class Value
Returns:
the cardinality

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()
Overrides:
hashCode in class Value

effectiveBooleanValue

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

Overrides:
effectiveBooleanValue in class Value
Returns:
the effective boolean value

itemAt

public Item itemAt(int n)
Get the n'th item in the sequence (starting from 0). This is defined for all Values, but its real benefits come for a sequence Value stored extensionally (or for a MemoClosure, once all the values have been read)

Specified by:
itemAt in interface GroundedValue
Overrides:
itemAt in class Value
Parameters:
n - position of the required item, counting from zero.
Returns:
the n'th item in the sequence, where the first item in the sequence is numbered zero. If n is negative or >= the length of the sequence, returns null.

subsequence

public GroundedValue subsequence(int min,
                                 int length)
Get a subsequence of the value

Specified by:
subsequence in interface GroundedValue
Parameters:
min - the index of the first item to be included in the result, counting from zero. A negative value is taken as zero. If the value is beyond the end of the sequence, an empty sequence is returned
length - the number of items to be included in the result. Specify Integer.MAX_VALUE to get the subsequence up to the end of the base sequence. If the value is negative, an empty sequence is returned. If the value goes off the end of the sequence, the result returns items up to the end of the sequence
Returns:
the required subsequence. If min is


Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.