public class StringValue extends AtomicValue
| Modifier and Type | Class and Description |
|---|---|
class |
StringValue.CharacterIterator
CharacterIterator is used to iterate over the characters in a string,
returning them as integers representing the Unicode code-point.
|
| Modifier and Type | Field and Description |
|---|---|
static StringValue |
EMPTY_STRING |
static StringValue |
FALSE |
protected int |
length |
static StringValue |
SINGLE_SPACE |
static StringValue |
TRUE |
protected java.lang.CharSequence |
value |
EMPTY_CLASS_ARRAYEMPTY_VALUE_ARRAYEVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD| Modifier | Constructor and Description |
|---|---|
protected |
StringValue()
Protected constructor for use by subtypes
|
|
StringValue(java.lang.CharSequence value)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
codepointEquals(StringValue other)
Test whether this StringValue is equal to another under the rules of the codepoint collation
|
boolean |
containsSurrogatePairs()
Determine whether the string contains surrogate pairs
|
static java.lang.CharSequence |
contract(int[] codes,
int used)
Contract an array of integers containing Unicode codepoints into a Java string
|
AtomicValue |
convertPrimitive(BuiltInAtomicType requiredType,
boolean validate,
XPathContext context)
Convert a value to another primitive data type, with control over how validation is
handled.
|
static AtomicValue |
convertStringToAtomicType(java.lang.CharSequence value,
AtomicType targetType,
NameChecker checker)
Convert the value to a given type.
|
static AtomicValue |
convertStringToBuiltInType(java.lang.CharSequence value,
BuiltInAtomicType requiredType,
NameChecker checker)
Convert a string value to another built-in data type, with control over how validation is
handled.
|
java.lang.Object |
convertToJava(java.lang.Class target,
XPathContext context)
Convert to Java object (for passing to external functions)
|
boolean |
effectiveBooleanValue(XPathContext context)
Get the effective boolean value of a string
|
boolean |
equals(java.lang.Object other)
Determine if two StringValues are equal, according to XML Schema rules.
|
int[] |
expand()
Expand a string containing surrogate pairs into an array of 32-bit characters
|
static int[] |
expand(java.lang.CharSequence s)
Expand a string containing surrogate pairs into an array of 32-bit characters
|
ItemType |
getItemType(TypeHierarchy th)
Return the type of the expression
|
int |
getStringLength()
Get the length of this string, as defined in XPath.
|
static int |
getStringLength(java.lang.CharSequence s)
Get the length of a string, as defined in XPath.
|
java.lang.String |
getStringValue()
Get the string value as a String
|
java.lang.CharSequence |
getStringValueCS()
Get the value of the item as a CharSequence.
|
int |
hashCode()
Return a hash code to support the equals() function
|
boolean |
isZeroLength()
Determine whether the string is a zero-length string.
|
SequenceIterator |
iterateCharacters()
Iterate over a string, returning a sequence of integers representing the Unicode code-point values
|
static StringValue |
makeStringValue(java.lang.CharSequence value)
Factory method.
|
java.lang.String |
toString()
Get string value.
|
checkPermittedContents, convert, convert, display, evaluateAsString, evaluateItem, getCardinality, getComponent, getImplementationMethod, getLength, getPrimitiveValue, getTypedValue, hasBuiltInType, iterate, processasItem, asIterator, asValue, convert, convertJavaObjectToXPath, getDependencies, getIterator, getParentExpression, getSpecialProperties, itemAt, iterateSubExpressions, makeQNameValue, optimize, promote, reduce, simplify, stringToNumber, typeCheckpublic static final StringValue EMPTY_STRING
public static final StringValue SINGLE_SPACE
public static final StringValue TRUE
public static final StringValue FALSE
protected java.lang.CharSequence value
protected int length
protected StringValue()
public StringValue(java.lang.CharSequence value)
value - the String value. Null is taken as equivalent to "".public static StringValue makeStringValue(java.lang.CharSequence value)
value - the String value. Null is taken as equivalent to "".public final java.lang.String getStringValue()
getStringValue in interface ItemgetStringValue in interface ValueRepresentationgetStringValue in class AtomicValueItem.getStringValueCS()public final java.lang.CharSequence getStringValueCS()
getStringValueCS in interface ItemgetStringValueCS in interface ValueRepresentationgetStringValueCS in class AtomicValueItem.getStringValue()public AtomicValue convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)
convertPrimitive in class AtomicValuerequiredType - type code of the required atomic typevalidate - true if validation is required. If set to false, the caller guarantees that
the value is valid for the target data type, and that further validation is therefore not required.
Note that a validation failure may be reported even if validation was not requested.context - public static AtomicValue convertStringToBuiltInType(java.lang.CharSequence value, BuiltInAtomicType requiredType, NameChecker checker)
value - the value to be convertedrequiredType - the required atomic typechecker - if validation is required, a NameChecker. If set to null, the caller guarantees that
the value is valid for the target data type, and that further validation is therefore not required.
Note that a validation failure may be reported even if validation was not requested.ValidationErrorValue. The caller must check for this condition. No exception is thrown, instead
the exception will be encapsulated within the ValidationErrorValue.public static AtomicValue convertStringToAtomicType(java.lang.CharSequence value, AtomicType targetType, NameChecker checker)
targetType - the type to which the value is to be convertedchecker - a NameChecker if validation is required, null if the caller already knows that the
value is validValidationErrorValue if conversion failed. The
caller must check for this condition. Validation may fail even if validation was not requested.public ItemType getItemType(TypeHierarchy th)
getItemType in interface ExpressiongetItemType in class Valueth - public int getStringLength()
public static int getStringLength(java.lang.CharSequence s)
s - The string whose length is requiredpublic boolean isZeroLength()
public boolean containsSurrogatePairs()
public SequenceIterator iterateCharacters()
public int[] expand()
public static int[] expand(java.lang.CharSequence s)
public static java.lang.CharSequence contract(int[] codes,
int used)
public boolean equals(java.lang.Object other)
public int hashCode()
Valuepublic boolean codepointEquals(StringValue other)
public boolean effectiveBooleanValue(XPathContext context)
effectiveBooleanValue in interface ExpressioneffectiveBooleanValue in class AtomicValuecontext - not usedpublic java.lang.Object convertToJava(java.lang.Class target,
XPathContext context)
throws XPathException
convertToJava in class ValueXPathExceptionpublic java.lang.String toString()
AtomicValuetoString in class AtomicValue