com.icl.saxon.expr

Class StringValue


public final class StringValue
extends Value

A string value

Field Summary

Fields inherited from class com.icl.saxon.expr.Value

ANY, BOOLEAN, NODESET, NUMBER, OBJECT, STRING

Fields inherited from class com.icl.saxon.expr.Expression

staticContext

Constructor Summary

StringValue(String value)
Constructor

Method Summary

boolean
asBoolean()
Convert the string value to a boolean
double
asNumber()
Convert the string value to a number
String
asString()
Get the string value as a String
int
conversionPreference(Class required)
Get conversion preference for this value to a Java class.
Object
convertToJava(Class target)
Convert to Java object (for passing to external functions)
void
display(int level)
Diagnostic print of expression structure
boolean
equals(StringValue other)
Determine if two StringValues are equal
static int[]
expand(String s)
Expand a string containing surrogate pairs into an array of 32-bit characters
int
getDataType()
Return the type of the expression (if known)
int
getLength()
Get the length of this string, as defined in XPath.
static int
getLength(String s)
Get the length of a string, as defined in XPath.

Methods inherited from class com.icl.saxon.expr.Value

asBoolean, asNumber, asString, compare, conversionPreference, convertToJava, equals, evaluate, getDependencies, inverse, notEquals, numericCompare, reduce, simplify, stringToNumber

Methods inherited from class com.icl.saxon.expr.Expression

containsReferences, display, enumerate, evaluate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getDataType, getDependencies, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, reduce, setStaticContext, simplify, usesCurrent

Constructor Details

StringValue

public StringValue(String value)
Constructor
Parameters:
value - the String value. Null is taken as equivalent to "".

Method Details

asBoolean

public boolean asBoolean()
Convert the string value to a boolean
Overrides:
asBoolean in interface Value
Returns:
false if the string value is zero-length, true otherwise

asNumber

public double asNumber()
Convert the string value to a number
Overrides:
asNumber in interface Value

asString

public String asString()
Get the string value as a String
Overrides:
asString in interface Value

conversionPreference

public int conversionPreference(Class required)
Get conversion preference for this value to a Java class. A low result indicates higher preference.
Overrides:
conversionPreference in interface Value

convertToJava

public Object convertToJava(Class target)
            throws XPathException
Convert to Java object (for passing to external functions)
Overrides:
convertToJava in interface Value

display

public void display(int level)
Diagnostic print of expression structure
Overrides:
display in interface Expression

equals

public boolean equals(StringValue other)
Determine if two StringValues are equal

expand

public static int[] expand(String s)
Expand a string containing surrogate pairs into an array of 32-bit characters

getDataType

public int getDataType()
Return the type of the expression (if known)
Overrides:
getDataType in interface Expression
Returns:
Value.STRING (always)

getLength

public int getLength()
Get the length of this string, as defined in XPath. This is not the same as the Java length, as a Unicode surrogate pair counts as a single character

getLength

public static int getLength(String s)
Get the length of a string, as defined in XPath. This is not the same as the Java length, as a Unicode surrogate pair counts as a single character.
Parameters:
s - The string whose length is required