|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.value.Value net.sf.saxon.value.SequenceExtent
public final class SequenceExtent
A sequence value implemented extensionally. That is, this class represents a sequence by allocating memory to each item in the sequence.
Field Summary |
---|
Fields inherited from class net.sf.saxon.value.Value |
---|
EMPTY_CLASS_ARRAY, INDETERMINATE_ORDERING |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
EMPTY_VALUE_ARRAY |
Constructor Summary | |
---|---|
SequenceExtent(Item[] items)
Construct an sequence from an array of items. |
|
SequenceExtent(Item[] value,
int start,
int length)
Construct a SequenceExtent from part of an array of items |
|
SequenceExtent(List list)
Construct a SequenceExtent from a List. |
|
SequenceExtent(SequenceExtent ext,
int start,
int length)
Construct a SequenceExtent as a view of another SequenceExtent |
|
SequenceExtent(SequenceIterator iter)
Construct a sequence containing all the items in a SequenceIterator. |
Method Summary | |
---|---|
boolean |
effectiveBooleanValue()
Get the effective boolean value |
int |
getCardinality()
Determine the cardinality |
ItemType |
getItemType(TypeHierarchy th)
Get the (lowest common) item type |
int |
getLength()
Get the number of items in the sequence |
Item |
itemAt(int n)
Get the n'th item in the sequence (starting with 0 as the first item) |
SequenceIterator |
iterate()
Return an iterator over this sequence. |
static ValueRepresentation |
makeSequenceExtent(SequenceIterator iter)
Factory method to make a Value holding the contents of any SequenceIterator |
Value |
reduce()
Reduce a value to its simplest form. |
UnfailingIterator |
reverseIterate()
Return an enumeration of this sequence in reverse order (used for reverse axes) |
Value |
simplify()
Simplify this SequenceExtent |
GroundedValue |
subsequence(int start,
int length)
Get a subsequence of the value |
void |
swap(int a,
int b)
Swap two items (needed to support sorting) |
Methods inherited from class net.sf.saxon.value.Value |
---|
asItem, asItem, asIterator, asValue, checkPermittedContents, convertJavaObjectToXPath, convertToJava, convertToJava, equals, fromItem, getCanonicalLexicalRepresentation, getIterator, getSchemaComparable, getStringValue, getStringValueCS, iterate, makeQNameValue, process, stringToNumber, toString |
Methods inherited from class java.lang.Object |
---|
getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
getStringValue, getStringValueCS |
Constructor Detail |
---|
public SequenceExtent(Item[] items)
items
- the array of items to be included in the sequencepublic SequenceExtent(Item[] value, int start, int length)
value
- The arraystart
- zero-based offset of the first item in the array
that is to be included in the new SequenceExtentlength
- The number of items in the new SequenceExtentpublic SequenceExtent(SequenceExtent ext, int start, int length)
ext
- The existing SequenceExtentstart
- zero-based offset of the first item in the existing SequenceExtent
that is to be included in the new SequenceExtentlength
- The number of items in the new SequenceExtentpublic SequenceExtent(List list)
list
- the list of items to be included in the sequencepublic SequenceExtent(SequenceIterator iter) throws XPathException
iter
- The supplied sequence of items. This must be positioned at
the start, so that hasNext() returns true if there are any nodes in
the node-set, and next() returns the first node.
XPathException
- if reading the items using the
SequenceIterator raises an errorMethod Detail |
---|
public static ValueRepresentation makeSequenceExtent(SequenceIterator iter) throws XPathException
iter
- a Sequence iterator that will be consumed to deliver the items in the sequence
EmptySequence
. If it is of length
one, the result will be an Item
. In all other cases, it will be an instance of
SequenceExtent
.
XPathException
public Value simplify()
EmptySequence
. If it is of length
one, the result will be an AtomicValue
or a SingletonNode
.
In all other cases, the SequenceExtent
will be returned unchanged.public Value reduce()
reduce
in class Value
public int getLength()
getLength
in class Value
public int getCardinality()
getCardinality
in class Value
Cardinality
public ItemType getItemType(TypeHierarchy th)
getItemType
in class Value
th
- the type hierarchy cache
public Item itemAt(int n)
itemAt
in interface GroundedValue
itemAt
in class Value
n
- the position of the required item
public void swap(int a, int b)
a
- the position of the first item to be swappedb
- the position of the second item to be swappedpublic SequenceIterator iterate()
iterate
in class Value
public UnfailingIterator reverseIterate()
public boolean effectiveBooleanValue() throws XPathException
effectiveBooleanValue
in class Value
XPathException
- if any dynamic error occurs evaluating the
expressionpublic GroundedValue subsequence(int start, int length)
subsequence
in interface GroundedValue
start
- 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 returnedlength
- 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
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |