## net.sf.saxon.value
Class UntypedAtomicValue

    java.lang.Object
      |
      +--net.sf.saxon.value.Value
            |
            +--net.sf.saxon.value.AtomicValue
                  |
                  +--net.sf.saxon.value.StringValue
                        |
                        +--net.sf.saxon.value.UntypedAtomicValue

All Implemented Interfaces:
  Expression, Item, java.io.Serializable

public class UntypedAtomicValue
extends StringValue

An Untyped Atomic value. This inherits from StringValue for implementation convenience, even though an untypedAtomic value is not a String in the data model type hierarchy.

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class net.sf.saxon.value.StringValue
`StringValue.CharacterIterator`

Field Summary
`static UntypedAtomicValue` `ZERO_LENGTH_UNTYPED`

Fields inherited from class net.sf.saxon.value.StringValue
`EMPTY_STRING, length, value`

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

Constructor Summary
`UntypedAtomicValue(java.lang.CharSequence value)` Constructor

Method Summary
`int` `compareTo(java.lang.Object other, java.util.Comparator collator)` Compare an untypedAtomic value with another value, using a given collator to perform any string comparisons.
`AtomicValue` `convert(int requiredType, XPathContext context)` Convert to target data type
`ItemType` `getItemType()` Return the type of the expression

Methods inherited from class net.sf.saxon.value.StringValue
`convertToJava, effectiveBooleanValue, equals, expand, getLength, getLength, getStringValue, hashCode, iterateCharacters, toString`

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

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

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

Field Detail

### ZERO_LENGTH_UNTYPED

    public static final UntypedAtomicValue ZERO_LENGTH_UNTYPED

Constructor Detail

### UntypedAtomicValue

    public UntypedAtomicValue(java.lang.CharSequence value)

  Constructor

Parameters:
  `value` - the String value. Null is taken as equivalent to "".

Method Detail

### getItemType

    public ItemType getItemType()

  Return the type of the expression

  Specified by:
    `getItemType` in interface `Expression`
  Overrides:
    `getItemType` in class `StringValue`
  Returns:
    Type.UNTYPED_ATOMIC (always)

### convert

    public AtomicValue convert(int requiredType,
                               XPathContext context)
                        throws XPathException

  Convert to target data type

  Overrides:
    `convert` in class `StringValue`
  Parameters:
    `requiredType` - an integer identifying the required atomic type
  Returns:
    an AtomicValue, a value of the required type
  Throws:
    `XPathException` - if the conversion is not possible

### compareTo

    public int compareTo(java.lang.Object other,
                         java.util.Comparator collator)

  Compare an untypedAtomic value with another value, using a given collator to perform any string comparisons. This works by converting the untypedAtomic value to the type of the other operand, which is the correct behavior for operators like "=" and "!=", but not for "eq" and "ne": in the latter case, the untypedAtomic value is converted to a string and this method is therefore not used.

  Returns:
    -1 if the this value is less than the other, 0 if they are equal, +1 if this value is greater.