public class ZeroOrMore<T extends Item<?>> extends java.lang.Object implements GroundedValue<T>
Constructor and Description |
---|
ZeroOrMore(java.util.List<T> content) |
ZeroOrMore(SequenceIterator<? extends T> iter) |
ZeroOrMore(T[] content)
Create a sequence containing zero or one items
|
Modifier and Type | Method and Description |
---|---|
boolean |
effectiveBooleanValue()
Get the effective boolean value of this sequence
|
int |
getLength()
Get the size of the value (the number of items)
|
java.lang.String |
getStringValue()
Get the string value of this sequence.
|
java.lang.CharSequence |
getStringValueCS()
Get the string value of this sequence.
|
T |
head()
Get the first item of the sequence.
|
T |
itemAt(int n)
Get the n'th item in the value, counting from 0
|
UnfailingIterator<T> |
iterate()
Get an iterator over all the items in the sequence.
|
GroundedValue<T> |
reduce()
Reduce the sequence to its simplest form.
|
GroundedValue<T> |
subsequence(int start,
int length)
Get a subsequence of the value
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
asIterable, iterator, materialize, toShortString
makeRepeatable
public ZeroOrMore(T[] content)
content
- The content of the sequencepublic ZeroOrMore(java.util.List<T> content)
public ZeroOrMore(SequenceIterator<? extends T> iter) throws XPathException
XPathException
public T head()
GroundedValue
public UnfailingIterator<T> iterate()
GroundedValue
iterate
in interface GroundedValue<T extends Item<?>>
iterate
in interface Sequence<T extends Item<?>>
SequenceIterator
rather than a Java
Iterator
) over all the items in this Sequence.public T itemAt(int n)
itemAt
in interface GroundedValue<T extends Item<?>>
n
- the index of the required item, with 0 representing the first item in the sequencepublic GroundedValue<T> subsequence(int start, int length)
subsequence
in interface GroundedValue<T extends Item<?>>
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 sequencepublic int getLength()
getLength
in interface GroundedValue<T extends Item<?>>
public boolean effectiveBooleanValue() throws XPathException
effectiveBooleanValue
in interface GroundedValue<T extends Item<?>>
XPathException
- if the sequence has no effective boolean value (for example a sequence of two integers)public java.lang.String getStringValue() throws XPathException
getStringValue
in interface GroundedValue<T extends Item<?>>
XPathException
- if the sequence contains items that have no string value (for example, function items)public java.lang.CharSequence getStringValueCS() throws XPathException
getStringValueCS
in interface GroundedValue<T extends Item<?>>
XPathException
- if the sequence contains items that have no string value (for example, function items)public GroundedValue<T> reduce()
AtomicValue
. If the value is a single item of any other kind, the result will be an instance
of One
. Otherwise, the result will typically be unchanged.reduce
in interface GroundedValue<T extends Item<?>>
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.