public abstract class SearchableValue extends java.lang.Object implements GroundedValue
Modifier and Type | Field and Description |
---|---|
protected int |
end |
protected Item[] |
value |
Constructor and Description |
---|
SearchableValue() |
Modifier and Type | Method and Description |
---|---|
boolean |
effectiveBooleanValue()
Get the effective boolean value of this sequence
|
abstract SequenceIterator |
findItems(Expression use,
SequenceIterator values,
boolean convertUntypedToOther,
boolean firstOnly,
AtomicComparer comparer,
XPathContext context)
Retrieve items that match a given index value
|
int |
getLength()
Get the length of the sequence
|
java.lang.String |
getStringValue()
Get the string value of this sequence, as an instance of
String . |
UnicodeString |
getUnicodeStringValue()
Get the string value of this sequence, as an instance of
UnicodeString . |
Item |
head()
Get the first item in the sequence.
|
Item |
itemAt(int n)
Get the n'th item in the sequence (starting from 0).
|
SequenceIterator |
iterate()
Return an Iterator to iterate over the values of a sequence.
|
static SearchableValue |
makeSearchableValue(SequenceIterator iter) |
GroundedValue |
reduce()
Reduce the sequence to its simplest form.
|
GroundedValue |
subsequence(int start,
int length)
Get a subsequence of the value
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
asIterable, concatenate, containsNode, materialize, toShortString
makeRepeatable
protected Item[] value
protected int end
public static SearchableValue makeSearchableValue(SequenceIterator iter) throws XPathException
XPathException
public SequenceIterator iterate()
iterate
in interface GroundedValue
iterate
in interface Sequence
public Item itemAt(int n)
itemAt
in interface GroundedValue
n
- position of the required item, counting from zero.public int getLength()
getLength
in interface GroundedValue
public abstract SequenceIterator findItems(Expression use, SequenceIterator values, boolean convertUntypedToOther, boolean firstOnly, AtomicComparer comparer, XPathContext context) throws XPathException
use
- the expression whose value is to be matchedvalues
- the set of values to be foundconvertUntypedToOther
- true if untypedAtomic values are to be converted to the
type of the other operandfirstOnly
- true if only the first matching item is requiredcomparer
- AtomicComparer used to compare values for equality (encapsulates a collation
if necessary)context
- the dynamic evaluation context @return an iterator over the items that match the specified valuesXPathException
- if an error occurspublic 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 sequencepublic boolean effectiveBooleanValue() throws XPathException
GroundedValue
effectiveBooleanValue
in interface GroundedValue
XPathException
- if the sequence has no effective boolean value (for example a sequence of two integers)public UnicodeString getUnicodeStringValue() throws XPathException
GroundedValue
UnicodeString
.
The string value of an item is the result of applying the XPath string()
function. The string value of a sequence is the space-separated result of applying the string-join() function
using a single space as the separator
The result of this method is always equivalent to the result of the GroundedValue.getStringValue()
method.
Use this method in preference either (a) if you need to use the value in a context where a UnicodeString
is required, or (b) if the underlying value is held as a UnicodeString
, or in a form that is readily
converted to a UnicodeString
. This is typically the case (i) when the value is a text or element node
in a TinyTree, and (ii) when the value is a StringItem
: that is, an atomic value of type
xs:string
.
getUnicodeStringValue
in interface GroundedValue
XPathException
- if the sequence contains items that have no string value (for example, function items)public java.lang.String getStringValue() throws XPathException
GroundedValue
String
.
The string value of an item is the result of applying the XPath string()
function. The string value of a sequence is the space-separated result of applying the string-join() function
using a single space as the separator.
The result of this method is always equivalent to the result of the GroundedValue.getUnicodeStringValue()
method.
Use this method in preference either (a) if you need to use the value in a context where a String
is required, or (b) if the underlying value is held as a String
, or in a form that is readily
converted to a String
. This is typically the case (i) when the value is an attribute node
in a TinyTree, or (ii) any kind of node in a third-party tree model such as DOM.
getStringValue
in interface GroundedValue
XPathException
- if the sequence contains items that have no string value (for example, function items)public Item head()
head
in interface GroundedValue
head
in interface Sequence
public GroundedValue reduce()
reduce
in interface GroundedValue
Copyright (c) 2004-2022 Saxonica Limited. All rights reserved.