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