## com.icl.saxon.expr
Class StringValue

    java.lang.Object
      |
      +--com.icl.saxon.expr.Expression
            |
            +--com.icl.saxon.expr.Value
                  |
                  +--com.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
    `XPathException`

### display

    public void display(int level)

  Diagnostic print of expression structure

  Specified by:
    `display` in class `Expression`