public class AtomicArray extends java.lang.Object implements AtomicSequence
Often used for representing the typed value of a list-valued node.
Modifier and Type | Field and Description |
---|---|
static AtomicArray |
EMPTY_ATOMIC_ARRAY |
Constructor and Description |
---|
AtomicArray(java.util.List<AtomicValue> content)
Create an AtomicArray over a supplied arrayList of atomic values
|
AtomicArray(SequenceIterator<? extends AtomicValue> iter)
Create an AtomicArray supplying the contents as an iterator
|
Modifier and Type | Method and Description |
---|---|
boolean |
effectiveBooleanValue()
Get the effective boolean value of this sequence
|
java.lang.CharSequence |
getCanonicalLexicalRepresentation()
Get the canonical lexical representation as defined in XML Schema.
|
int |
getLength()
Get the length of the sequence
|
java.lang.Comparable |
getSchemaComparable()
Get a Comparable value that implements the XML Schema ordering comparison semantics for this value.
|
java.lang.String |
getStringValue()
Get a string representation of the sequence.
|
java.lang.CharSequence |
getStringValueCS()
Get the value of the item as a CharSequence.
|
AtomicValue |
head()
Get the first item in the sequence
|
AtomicValue |
itemAt(int n)
Get the n'th item in the sequence (base-zero addressing)
|
AtomicIterator |
iterate()
Make an iterator over the items in the sequence
|
java.util.Iterator<AtomicValue> |
iterator()
Returns a Java iterator over the atomic sequence.
|
GroundedValue<AtomicValue> |
reduce()
Reduce the sequence to its simplest form.
|
AtomicArray |
subsequence(int start,
int length)
Get a subsequence of this sequence
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
asIterable, materialize, toShortString
makeRepeatable
public static AtomicArray EMPTY_ATOMIC_ARRAY
public AtomicArray(java.util.List<AtomicValue> content)
content
- the supplied arrayList. The caller warrants that the contents of this array will not change.public AtomicArray(SequenceIterator<? extends AtomicValue> iter) throws XPathException
iter
- the iterator that supplies the atomic values (which must be position
at the start of the sequence, and which will be consumed by the method).XPathException
- if evaluation of the SequenceIterator failsjava.lang.ClassCastException
- if any of the items returned by the SequenceIterator is not atomicpublic AtomicValue head()
AtomicSequence
head
in interface AtomicSequence
head
in interface GroundedValue<AtomicValue>
head
in interface Sequence<AtomicValue>
public AtomicIterator iterate()
AtomicSequence
iterate
in interface AtomicSequence
iterate
in interface GroundedValue<AtomicValue>
iterate
in interface Sequence<AtomicValue>
public AtomicValue itemAt(int n)
itemAt
in interface AtomicSequence
itemAt
in interface GroundedValue<AtomicValue>
n
- the index of the required item, the first item being zeropublic int getLength()
getLength
in interface AtomicSequence
getLength
in interface GroundedValue<AtomicValue>
public AtomicArray subsequence(int start, int length)
subsequence
in interface GroundedValue<AtomicValue>
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 java.lang.CharSequence getCanonicalLexicalRepresentation()
getCanonicalLexicalRepresentation
in interface AtomicSequence
public java.lang.CharSequence getStringValueCS()
getStringValueCS
in interface AtomicSequence
getStringValueCS
in interface GroundedValue<AtomicValue>
public java.lang.String getStringValue()
AtomicSequence
getStringValue
in interface AtomicSequence
getStringValue
in interface GroundedValue<AtomicValue>
public boolean effectiveBooleanValue() throws XPathException
GroundedValue
effectiveBooleanValue
in interface GroundedValue<AtomicValue>
XPathException
- if the sequence has no effective boolean value (for example a sequence of two integers)public java.lang.Comparable getSchemaComparable()
In the case of data types that are partially ordered, the returned Comparable extends the standard
semantics of the compareTo() method by returning the value SequenceTool.INDETERMINATE_ORDERING
when there
is no defined order relationship between two given values.
For comparing key/keyref values, XSD 1.1 defines that a singleton list is equal to its only member. To achieve this, this method returns the schema comparable of the singleton member if the list has length one. This won't give the correct ordering semantics, but we rely on lists never taking part in ordering comparisons.
getSchemaComparable
in interface AtomicSequence
public GroundedValue<AtomicValue> reduce()
reduce
in interface GroundedValue<AtomicValue>
public java.util.Iterator<AtomicValue> iterator()
iterator
in interface java.lang.Iterable<AtomicValue>
iterator
in interface GroundedValue<AtomicValue>
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.