org.jaxen.function
Class StringLengthFunction

java.lang.Object
  extended by org.jaxen.function.StringLengthFunction
All Implemented Interfaces:
Function

public class StringLengthFunction
extends Object
implements Function

4.2 number string-length(string)

The string-length function returns the number of Unicode characters in its argument. This is not necessarily the same as the number Java chars in the corresponding Java string. In particular, if the Java String contains surrogate pairs each such pair will be counted as only one character by this function. If the argument is omitted, it returns the length of the string-value of the context node.

Author:
bob mcwhirter (bob @ werken.com)
See Also:
Section 4.2 of the XPath Specification

Constructor Summary
StringLengthFunction()
          Create a new StringLengthFunction object.
 
Method Summary
 Object call(Context context, List args)
           Returns the number of Unicode characters in the string-value of the argument.
static Double evaluate(Object obj, Navigator nav)
           Returns the number of Unicode characters in the string-value of an object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringLengthFunction

public StringLengthFunction()
Create a new StringLengthFunction object.

Method Detail

call

public Object call(Context context,
                   List args)
            throws FunctionCallException

Returns the number of Unicode characters in the string-value of the argument.

Specified by:
call in interface Function
Parameters:
context - the context at the point in the expression when the function is called
args - a list containing the item whose string-value is to be counted. If empty, the length of the context node's string-value is returned.
Returns:
a Double giving the number of Unicode characters
Throws:
FunctionCallException - if args has more than one item

evaluate

public static Double evaluate(Object obj,
                              Navigator nav)
                       throws FunctionCallException

Returns the number of Unicode characters in the string-value of an object.

Parameters:
obj - the object whose string-value is counted
nav - used to calculate the string-values of the first two arguments
Returns:
a Double giving the number of Unicode characters
Throws:
FunctionCallException - if the string contains mismatched surrogates


Copyright © 2001-2008 Codehaus. All Rights Reserved.