com.icl.saxon.expr
Class StringValue

java.lang.Object
  extended bycom.icl.saxon.expr.Expression
      extended bycom.icl.saxon.expr.Value
          extended bycom.icl.saxon.expr.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(java.lang.String value)
          Constructor
 
Method Summary
 boolean asBoolean()
          Convert the string value to a boolean
 double asNumber()
          Convert the string value to a number
 java.lang.String asString()
          Get the string value as a String
 int conversionPreference(java.lang.Class required)
          Get conversion preference for this value to a Java class.
 java.lang.Object convertToJava(java.lang.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(java.lang.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(java.lang.String s)
          Get the length of a string, as defined in XPath.
 
Methods inherited from class com.icl.saxon.expr.Value
compare, equals, evaluate, getDependencies, inverse, notEquals, numericCompare, reduce, simplify, stringToNumber
 
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringValue

public StringValue(java.lang.String value)
Constructor

Parameters:
value - the String value. Null is taken as equivalent to "".
Method Detail

asString

public java.lang.String asString()
Get the string value as a String

Specified by:
asString in class Value
Returns:
the value converted to a String

asNumber

public double asNumber()
Convert the string value to a number

Specified by:
asNumber in class Value
Returns:
the value converted to a String

asBoolean

public boolean asBoolean()
Convert the string value to a boolean

Specified by:
asBoolean in class Value
Returns:
false if the string value is zero-length, true otherwise

getDataType

public int getDataType()
Return the type of the expression (if known)

Specified by:
getDataType in class 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(java.lang.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

expand

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


equals

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


conversionPreference

public int conversionPreference(java.lang.Class required)
Get conversion preference for this value to a Java class. A low result indicates higher preference.

Specified by:
conversionPreference in class Value

convertToJava

public java.lang.Object convertToJava(java.lang.Class target)
                               throws XPathException
Convert to Java object (for passing to external functions)

Specified by:
convertToJava in class Value
Parameters:
target - The class required by the external function
Returns:
an object of the target class
Throws:
XPathException

display

public void display(int level)
Diagnostic print of expression structure

Specified by:
display in class Expression