Class SequenceType

  • All Implemented Interfaces:
    java.io.Serializable

    public final class SequenceType
    extends java.lang.Object
    implements java.io.Serializable
    SequenceType: a sequence type consists of a primary type, which indicates the type of item, and a cardinality, which indicates the number of occurrences permitted. Where the primary type is element or attribute, there may also be a content type, indicating the required type annotation on the element or attribute content.
    See Also:
    Serialized Form
    • Field Detail

      • ANY_SEQUENCE

        public static final SequenceType ANY_SEQUENCE
        A type that allows any sequence of items
      • SINGLE_ITEM

        public static final SequenceType SINGLE_ITEM
        A type that allows exactly one item, of any kind
      • SINGLE_ATOMIC

        public static final SequenceType SINGLE_ATOMIC
        A type that allows exactly one atomic value
      • OPTIONAL_ATOMIC

        public static final SequenceType OPTIONAL_ATOMIC
        A type that allows zero or one atomic values
      • ATOMIC_SEQUENCE

        public static final SequenceType ATOMIC_SEQUENCE
        A type that allows zero or more atomic values
      • SINGLE_STRING

        public static final SequenceType SINGLE_STRING
        A type that allows a single string
      • SINGLE_INTEGER

        public static final SequenceType SINGLE_INTEGER
        A type that allows a single integer
      • OPTIONAL_INTEGER

        public static final SequenceType OPTIONAL_INTEGER
        A type that allows a single integer
      • OPTIONAL_NODE

        public static final SequenceType OPTIONAL_NODE
        A type that allows zero or one nodes
      • SINGLE_NODE

        public static final SequenceType SINGLE_NODE
        A type that allows a single node
      • NODE_SEQUENCE

        public static final SequenceType NODE_SEQUENCE
        A type that allows a sequence of zero or more nodes
      • NUMERIC_SEQUENCE

        public static final SequenceType NUMERIC_SEQUENCE
        A type that allows a sequence of zero or more numeric values
      • EMPTY_SEQUENCE

        public static final SequenceType EMPTY_SEQUENCE
        A type that only permits the empty sequence
    • Method Detail

      • makeSequenceType

        public static SequenceType makeSequenceType​(ItemType primaryType,
                                                    int cardinality)
        Construct an instance of SequenceType. This is a factory method: it maintains a pool of SequenceType objects to reduce the amount of object creation.
        Parameters:
        primaryType - The item type
        cardinality - The required cardinality
      • getPrimaryType

        public ItemType getPrimaryType()
        Get the "primary" part of this required type. E.g. for type element(*, xs:date) the "primary type" is element()
        Returns:
        The item type code of the primary type
      • getCardinality

        public int getCardinality()
        Get the cardinality component of this SequenceType. This is one of the constants Cardinality.EXACTLY_ONE, Cardinality.ONE_OR_MORE, etc
        Returns:
        the required cardinality
        See Also:
        Cardinality
      • toString

        public java.lang.String toString()
        Return a string representation of this SequenceType
        Overrides:
        toString in class java.lang.Object
        Returns:
        the string representation as an instance of the XPath SequenceType construct
      • hashCode

        public int hashCode()
        Returns a hash code value for the object.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Indicates whether some other object is "equal to" this one.
        Overrides:
        equals in class java.lang.Object