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, waitasIterable, materialize, toShortStringmakeRepeatablepublic 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()
AtomicSequencehead in interface AtomicSequencehead in interface GroundedValue<AtomicValue>head in interface Sequence<AtomicValue>public AtomicIterator iterate()
AtomicSequenceiterate in interface AtomicSequenceiterate in interface GroundedValue<AtomicValue>iterate in interface Sequence<AtomicValue>public AtomicValue itemAt(int n)
itemAt in interface AtomicSequenceitemAt in interface GroundedValue<AtomicValue>n - the index of the required item, the first item being zeropublic int getLength()
getLength in interface AtomicSequencegetLength 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 AtomicSequencepublic java.lang.CharSequence getStringValueCS()
getStringValueCS in interface AtomicSequencegetStringValueCS in interface GroundedValue<AtomicValue>public java.lang.String getStringValue()
AtomicSequencegetStringValue in interface AtomicSequencegetStringValue in interface GroundedValue<AtomicValue>public boolean effectiveBooleanValue()
throws XPathException
GroundedValueeffectiveBooleanValue 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 AtomicSequencepublic 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.