org.jaxen.function

Class BooleanFunction

Implemented Interfaces:
Function

public class BooleanFunction
extends java.lang.Object
implements Function

4.3 boolean boolean(object)

The boolean function converts its argument to a boolean as follows:

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

Constructor Summary

BooleanFunction()
Create a new BooleanFunction object.

Method Summary

Object
call(Context context, List args)
Convert the argument to a Boolean
static Boolean
evaluate(Object obj, Navigator nav)
Convert the argument obj to a Boolean according to the following rules:
  • Lists are false if they're empty; true if they're not.
  • Booleans are false if they're false; true if they're true.
  • Strings are false if they're empty; true if they're not.
  • Numbers are false if they're 0 or NaN; true if they're not.
  • All other objects are true.

Constructor Details

BooleanFunction

public BooleanFunction()
Create a new BooleanFunction object.

Method Details

call

public Object call(Context context,
                   List args)
            throws FunctionCallException
Convert the argument to a Boolean
Specified by:
call in interface Function
Parameters:
context - the context at the point in the expression when the function is called
args - a list with exactly one item which will be converted to a Boolean
Returns:
the result of evaluating the function; Boolean.TRUE or Boolean.FALSE
Throws:
FunctionCallException - if args has more or less than one item

evaluate

public static Boolean evaluate(Object obj,
                               Navigator nav)
Convert the argument obj to a Boolean according to the following rules:
  • Lists are false if they're empty; true if they're not.
  • Booleans are false if they're false; true if they're true.
  • Strings are false if they're empty; true if they're not.
  • Numbers are false if they're 0 or NaN; true if they're not.
  • All other objects are true.
Parameters:
obj - the object to convert to a boolean
nav - ignored
Returns:
Boolean.TRUE or Boolean.FALSE