Package net.sf.saxon.value

## Class UntypedAtomicValue

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

- All Implemented Interfaces:
    `java.lang.Iterable<AtomicValue>`, `AtomicSequence`, `GroundedValue`, `IdentityComparable`, `Item`, `Sequence`, `ConversionResult`

      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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.saxon.value.StringValue

      `StringValue.Builder, StringValue.CharacterIterator, StringValue.UnicodeCharacterIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static UntypedAtomicValue` | `ZERO_LENGTH_UNTYPED` |

    - ### Fields inherited from class net.sf.saxon.value.StringValue

      `EMPTY_STRING, FALSE, SINGLE_SPACE, TRUE, value`

    - ### Fields inherited from class net.sf.saxon.value.AtomicValue

      `typeLabel`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `UntypedAtomicValue​(java.lang.CharSequence value)` | Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AtomicValue` | `copyAsSubType​(AtomicType typeLabel)` | Create a copy of this atomic value, with a different type label
    `BuiltInAtomicType` | `getPrimitiveType()` | Determine the primitive type of the value.
    `java.lang.CharSequence` | `getStringValueCS()` | Get the value of the item as a CharSequence.
    `java.lang.String` | `toShortString()` | For displaying the value in error messages, prefix with "u" to highlight that it's untyped atomic

    - ### Methods inherited from class net.sf.saxon.value.StringValue

      `codepointEquals, containsSurrogatePairs, contract, diagnosticDisplay, effectiveBooleanValue, equals, expand, getPrimitiveStringValue, getSchemaComparable, getStringLength, getStringLength, getStringLengthUpperBound, getUnicodeString, getXPathComparable, hashCode, isEmpty, isIdentical, isKnownToContainNoSurrogates, isZeroLength, iterateCharacters, makeStringValue, setContainsNoSurrogates, setStringValueCS, toString`

    - ### Methods inherited from class net.sf.saxon.value.AtomicValue

      `asAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, getCanonicalLexicalRepresentation, getCardinality, getComponent, getGenre, getItemType, getLength, getStringValue, getUType, head, identityHashCode, isIdentical, isNaN, itemAt, iterate, iterator, setTypeLabel`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `isStreamed, reduce, subsequence`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### 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. Must not be null. The caller must ensure that the value will not subsequently change, even though it may be a mutable object such as a FastStringBuffer.

  - ### Method Detail

    - #### copyAsSubType

          public AtomicValue copyAsSubType​(AtomicType typeLabel)

      Create a copy of this atomic value, with a different type label
      Overrides:
        `copyAsSubType` in class `StringValue`
      Parameters:
        `typeLabel` - the type label of the new copy. The caller is responsible for checking that the value actually conforms to this type.
      Returns:
        the copied 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.
      Overrides:
        `getPrimitiveType` in class `StringValue`
      Returns:
        the primitive type

    - #### getStringValueCS

          public final java.lang.CharSequence getStringValueCS()

      Get the value of the item as a CharSequence. This is in some cases more efficient than the version of the method that returns a String.
      Specified by:
        `getStringValueCS` in interface `AtomicSequence`
      Specified by:
        `getStringValueCS` in interface `GroundedValue`
      Specified by:
        `getStringValueCS` in interface `Item`
      Overrides:
        `getStringValueCS` in class `AtomicValue`
      Returns:
        the string value of the item
      See Also:
        `Item.getStringValue()`

    - #### toShortString

          public java.lang.String toShortString()

      For displaying the value in error messages, prefix with "u" to highlight that it's untyped atomic
      Specified by:
        `toShortString` in interface `GroundedValue`
      Specified by:
        `toShortString` in interface `Item`
      Overrides:
        `toShortString` in class `StringValue`
      Returns:
        a short depiction of the string for use in error messages