Interface AtomicType

All Superinterfaces:
ItemType, PlainType, SchemaComponent, SchemaType, Serializable, SimpleType
All Known Implementing Classes:
BuiltInAtomicType, ExternalObjectType

public interface AtomicType extends SimpleType, PlainType
Interface for atomic types (these are either built-in atomic types or user-defined atomic types). An AtomicType is both an ItemType (a possible type for items in a sequence) and a SchemaType (a possible type for validating and annotating nodes).
  • Method Details

    • validate

      ValidationFailure validate(AtomicValue primValue, CharSequence lexicalValue, ConversionRules rules)
      Validate that a primitive atomic value is a valid instance of a type derived from the same primitive type.
      Parameters:
      primValue - the value in the value space of the primitive type.
      lexicalValue - the value in the lexical space. If null, the string value of primValue is used. This value is checked against the pattern facet (if any)
      rules -
      Returns:
      null if the value is valid; otherwise, a ValidationFailure object indicating the nature of the error.
      Throws:
      UnsupportedOperationException - in the case of an external object type
    • isOrdered

      boolean isOrdered()
      Determine whether the atomic type is ordered, that is, whether less-than and greater-than comparisons are permitted
      Returns:
      true if ordering operations are permitted
    • isAbstract

      boolean isAbstract()
      Determine whether the type is abstract, that is, whether it cannot have instances that are not also instances of some concrete subtype
    • isPrimitiveType

      boolean isPrimitiveType()
      Determine whether the atomic type is a primitive type. The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xs:dayTimeDuration and xs:yearMonthDuration; xs:untypedAtomic; and all supertypes of these (xs:anyAtomicType, xs:numeric, ...)
      Returns:
      true if the type is considered primitive under the above rules
    • isBuiltInType

      boolean isBuiltInType()
      Determine whether the atomic type is a built-in type. The built-in atomic types are the 41 atomic types defined in XML Schema, plus xs:dayTimeDuration and xs:yearMonthDuration, xs:untypedAtomic, and all supertypes of these (xs:anyAtomicType, xs:numeric, ...)
      Specified by:
      isBuiltInType in interface SimpleType
      Returns:
      true if this is a built-in type
    • getTypeName

      StructuredQName getTypeName()
      Get the name of this type as a StructuredQName, unless the type is anonymous, in which case return null
      Returns:
      the name of the atomic type, or null if the type is anonymous.