## net.sf.saxon.value
Class BooleanValue

    java.lang.Object
      net.sf.saxon.value.Value
          net.sf.saxon.value.AtomicValue
              net.sf.saxon.value.BooleanValue

All Implemented Interfaces:
  java.lang.Comparable, Expression, Item, java.io.Serializable, ValueRepresentation

public final class BooleanValue
extends AtomicValue
implements java.lang.Comparable

A boolean XPath value

See Also:
  Serialized Form

Field Summary
`static BooleanValue` `FALSE` The boolean value FALSE
`static BooleanValue` `TRUE` The boolean value TRUE

Fields inherited from interface net.sf.saxon.expr.Expression
`EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD`

Method Summary
`int` `compareTo(java.lang.Object other)` Compare the value to another boolean value
`AtomicValue` `convertPrimitive(BuiltInAtomicType requiredType, boolean validate)` Convert to target data type
`java.lang.Object` `convertToJava(java.lang.Class target, XPathContext context)` Convert to Java object (for passing to external functions)
`boolean` `effectiveBooleanValue(XPathContext context)` Get the effective boolean value of this expression
`boolean` `equals(java.lang.Object other)` Determine whether two boolean values are equal
`static AtomicValue` `fromString(java.lang.CharSequence s)` Convert a string to a boolean value, using the XML Schema rules (including whitespace trimming)
`static BooleanValue` `get(boolean value)` Factory method: get a BooleanValue
`boolean` `getBooleanValue()` Get the value
`ItemType` `getItemType()` Determine the data type of the expression
`java.lang.String` `getStringValue()` Convert to string
`int` `hashCode()` Get a hash code for comparing two BooleanValues
`java.lang.String` `toString()` Diagnostic display of this value as a string

Methods inherited from class net.sf.saxon.value.AtomicValue
`checkPermittedContents, convert, convert, display, evaluateAsString, evaluateItem, getCardinality, getComponent, getImplementationMethod, getLength, getPrimitiveValue, getStringValueCS, getTypedValue, hasBuiltInType, iterate, process`

Methods inherited from class net.sf.saxon.value.Value
`analyze, asItem, asValue, collapseWhitespace, convert, convertJavaObjectToXPath, getDependencies, getIterator, getParentExpression, getSpecialProperties, itemAt, iterateSubExpressions, makeQNameValue, normalizeWhitespace, promote, simplify, stringToNumber, trimWhitespace`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### TRUE

    public static final BooleanValue TRUE

  The boolean value TRUE

### FALSE

    public static final BooleanValue FALSE

  The boolean value FALSE

Method Detail

### get

    public static BooleanValue get(boolean value)

  Factory method: get a BooleanValue

  Parameters:
    `value` - true or false, to determine which boolean value is required
  Returns:
    the BooleanValue requested

### fromString

    public static AtomicValue fromString(java.lang.CharSequence s)

  Convert a string to a boolean value, using the XML Schema rules (including whitespace trimming)

  Parameters:
    `s` - the input string
  Returns:
    the relevant BooleanValue if validation succeeds; or an ErrorValue if not.

### getBooleanValue

    public boolean getBooleanValue()

  Get the value

  Returns:
    true or false, the actual boolean value of this BooleanValue

### effectiveBooleanValue

    public boolean effectiveBooleanValue(XPathContext context)

  Get the effective boolean value of this expression

  Specified by:
    `effectiveBooleanValue` in interface `Expression`
  Overrides:
    `effectiveBooleanValue` in class `AtomicValue`
  Parameters:
    `context` - dynamic evaluation context, not used in this implementation
  Returns:
    the boolean value

### convertPrimitive

    public AtomicValue convertPrimitive(BuiltInAtomicType requiredType,
                                        boolean validate)

  Convert to target data type

  Specified by:
    `convertPrimitive` in class `AtomicValue`
  Parameters:
    `requiredType` - an integer identifying the required atomic type
    `validate` - true if validation is required. If set to false, the caller guarantees that the value is valid for the target data type, and that further validation is therefore not required. Note that a validation failure may be reported even if validation was not requested.
  Returns:
    an AtomicValue, a value of the required type

### getStringValue

    public java.lang.String getStringValue()

  Convert to string

  Specified by:
    `getStringValue` in interface `Item`
  Specified by:
    `getStringValue` in class `AtomicValue`
  Returns:
    "true" or "false"

### getItemType

    public ItemType getItemType()

  Determine the data type of the expression

  Specified by:
    `getItemType` in interface `Expression`
  Overrides:
    `getItemType` in class `Value`
  Returns:
    Type.BOOLEAN,

### convertToJava

    public java.lang.Object convertToJava(java.lang.Class target,
                                          XPathContext context)
                                   throws XPathException

  Convert to Java object (for passing to external functions)

  Overrides:
    `convertToJava` in class `Value`
  Parameters:
    `target` - the Java class to which conversion is required
  Returns:
    An object of the specified Java class
  Throws:
    `XPathException` - if conversion is not possible or fails

### compareTo

    public int compareTo(java.lang.Object other)

  Compare the value to another boolean value

  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  Parameters:
    `other` - The other boolean value
  Returns:
    -1 if this one is the lower, 0 if they are equal, +1 if this one is the higher. False is considered to be less than true.
  Throws:
    `java.lang.ClassCastException` - if the other value is not a BooleanValue (the parameter is declared as Object to satisfy the Comparable interface)

### equals

    public boolean equals(java.lang.Object other)

  Determine whether two boolean values are equal

  Overrides:
    `equals` in class `Value`
  Parameters:
    `other` - the value to be compared to this value
  Returns:
    true if the other value is a boolean value and is equal to this value

### hashCode

    public int hashCode()

  Get a hash code for comparing two BooleanValues

  Overrides:
    `hashCode` in class `Value`
  Returns:
    the hash code

### toString

    public java.lang.String toString()

  Diagnostic display of this value as a string

  Overrides:
    `toString` in class `AtomicValue`
  Returns:
    a string representation of this value: "true()" or "false()"