## 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:
  Serializable, Comparable, SequenceIterable, Item, ValueRepresentation

    public final class BooleanValue

extends AtomicValue
implements 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 class net.sf.saxon.value.Value
`EMPTY_CLASS_ARRAY, INDETERMINATE_ORDERING`

Fields inherited from interface net.sf.saxon.om.ValueRepresentation
`EMPTY_VALUE_ARRAY`

Constructor Summary
`BooleanValue(boolean value, AtomicType typeLabel)` Create a new Boolean value with a user-supplied type label.

Method Summary
`int` `compareTo(Object other)` Compare the value to another boolean value
`AtomicValue` `convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)` Convert to target data type
`Object` `convertToJava(Class target, XPathContext context)` Convert to Java object (for passing to external functions)
`AtomicValue` `copy(AtomicType typeLabel)` Create a copy of this atomic value (usually so that the type label can be changed).
`boolean` `effectiveBooleanValue()` Get the effective boolean value of this expression
`boolean` `equals(Object other)` Determine whether two boolean values are equal
`static AtomicValue` `fromString(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
`BuiltInAtomicType` `getPrimitiveType()` Determine the primitive type of the value.
`String` `getStringValue()` Convert to string
`Comparable` `getXPathComparable()` Get a Comparable value that implements the XPath ordering comparison semantics for this value.
`int` `hashCode()` Get a hash code for comparing two BooleanValues
`String` `toString()` Diagnostic display of this value as a string

Methods inherited from class net.sf.saxon.value.AtomicValue
`checkPermittedContents, convert, convert, getCardinality, getComponent, getItemType, getLength, getStringValueCS, getTypedValue, getTypeLabel, hasBuiltInType, isMultiValued, itemAt, iterate, process, setTypeLabel`

Methods inherited from class net.sf.saxon.value.Value
`asItem, asItem, asIterator, asValue, convert, convertJavaObjectToXPath, fromItem, getCanonicalLexicalRepresentation, getIterator, getSchemaComparable, iterate, makeQNameValue, reduce, stringToNumber`

Methods inherited from class java.lang.Object
`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

Constructor Detail

### BooleanValue

    public BooleanValue(boolean value,
                        AtomicType typeLabel)

  Create a new Boolean value with a user-supplied type label. It is the caller's responsibility to ensure that the value is valid for the subtype

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

### copy

    public AtomicValue copy(AtomicType typeLabel)

  Create a copy of this atomic value (usually so that the type label can be changed). The type label of the copy will be reset to the primitive type.

  Specified by:
    `copy` in class `AtomicValue`
  Parameters:
    `typeLabel` -

### fromString

    public static AtomicValue fromString(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()

  Get the effective boolean value of this expression

  Overrides:
    `effectiveBooleanValue` in class `AtomicValue`
  Returns:
    the boolean value

### getPrimitiveType

    public BuiltInAtomicType getPrimitiveType()

  Determine the primitive type of the value. This delivers the same answer as getItemType().getPrimitiveItemType(). The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xs:dayTimeDuration and xs:yearMonthDuration, and xs:untypedAtomic. For external objects, the result is AnyAtomicType.

  Specified by:
    `getPrimitiveType` in class `AtomicValue`

### convertPrimitive

    public AtomicValue convertPrimitive(BuiltInAtomicType requiredType,
                                        boolean validate,
                                        XPathContext context)

  Convert to target data type

  Specified by:
    `convertPrimitive` in class `AtomicValue`
  Parameters:
    `requiredType` - an integer identifying the required atomic type
    `context` -
    `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 String getStringValue()

  Convert to string

  Specified by:
    `getStringValue` in interface `Item`
  Specified by:
    `getStringValue` in interface `ValueRepresentation`
  Specified by:
    `getStringValue` in class `AtomicValue`
  Returns:
    "true" or "false"
  See Also:
    `Item.getStringValueCS()`

### convertToJava

    public Object convertToJava(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

### getXPathComparable

    public Comparable getXPathComparable()

  Get a Comparable value that implements the XPath ordering comparison semantics for this value. Returns null if the value is not comparable according to XPath rules. The default implementation returns null. This is overridden for types that allow ordered comparisons in XPath: numeric, boolean, string, date, time, dateTime, yearMonthDuration, dayTimeDuration, and anyURI.

  Overrides:
    `getXPathComparable` in class `AtomicValue`

### compareTo

    public int compareTo(Object other)

  Compare the value to another boolean value

  Specified by:
    `compareTo` in interface `Comparable`
  Overrides:
    `compareTo` in class `Value`
  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:
    `ClassCastException` - if the other value is not a BooleanValue (the parameter is declared as Object to satisfy the Comparable interface)

### equals

    public boolean equals(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
  Throws:
    `ClassCastException` - if other value is not xs:boolean or derived therefrom

### hashCode

    public int hashCode()

  Get a hash code for comparing two BooleanValues

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

### toString

    public 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()"

Copyright (C) Michael H. Kay. All rights reserved.