## net.sf.saxon.value
Class SequenceType

    java.lang.Object
      net.sf.saxon.value.SequenceType

All Implemented Interfaces:
  Serializable

    public final class SequenceType

extends Object
implements 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 Summary
`static SequenceType` `ANY_SEQUENCE` A type that allows any sequence of items
`static SequenceType` `ATOMIC_SEQUENCE` A type that allows zero or more atomic values
`static SequenceType` `EMPTY_SEQUENCE` A type that only permits the empty sequence
`static SequenceType` `NODE_SEQUENCE` A type that allows a sequence of zero or more nodes
`static SequenceType` `NON_EMPTY_SEQUENCE` A type that only permits a non-empty sequence
`static SequenceType` `NUMERIC_SEQUENCE` A type that allows a sequence of zero or more numeric values
`static SequenceType` `OPTIONAL_ANY_URI` A type that allows a single optional anyURI
`static SequenceType` `OPTIONAL_ATOMIC` A type that allows zero or one atomic values
`static SequenceType` `OPTIONAL_BOOLEAN` A type that allows a single optional integer
`static SequenceType` `OPTIONAL_BYTE` A type that allows a single optional byte
`static SequenceType` `OPTIONAL_DATE_TIME` A type that allows a single optional dateTime
`static SequenceType` `OPTIONAL_DECIMAL` A type that allows a single optional decimal
`static SequenceType` `OPTIONAL_DOCUMENT_NODE` A type that allows a single document node
`static SequenceType` `OPTIONAL_DOUBLE` A type that allows a single optional double
`static SequenceType` `OPTIONAL_FLOAT` A type that allows a single optional float
`static SequenceType` `OPTIONAL_INT` A type that allows a single optional int
`static SequenceType` `OPTIONAL_INTEGER` A type that allows a single optional integer
`static SequenceType` `OPTIONAL_ITEM` A type that allows zero or one items, of any kind
`static SequenceType` `OPTIONAL_LONG` A type that allows a single optional long
`static SequenceType` `OPTIONAL_NODE` A type that allows zero or one nodes
`static SequenceType` `OPTIONAL_NUMERIC` A type that allows an optional numeric value
`static SequenceType` `OPTIONAL_QNAME` A type that allows a single optional xs:QName
`static SequenceType` `OPTIONAL_SHORT` A type that allows a single optional short
`static SequenceType` `OPTIONAL_STRING` A type that allows a single optional string
`static SequenceType` `SINGLE_ATOMIC` A type that allows exactly one atomic value
`static SequenceType` `SINGLE_BOOLEAN` A type that allows a single boolean
`static SequenceType` `SINGLE_BYTE` A type that allows a single short
`static SequenceType` `SINGLE_DOUBLE` A type that allows a single double
`static SequenceType` `SINGLE_ELEMENT_NODE` A type that allows a single element node
`static SequenceType` `SINGLE_FLOAT` A type that allows a single float
`static SequenceType` `SINGLE_INT` A type that allows a single int
`static SequenceType` `SINGLE_INTEGER` A type that allows a single integer
`static SequenceType` `SINGLE_ITEM` A type that allows exactly one item, of any kind
`static SequenceType` `SINGLE_LONG` A type that allows a single long
`static SequenceType` `SINGLE_NODE` A type that allows a single node
`static SequenceType` `SINGLE_SHORT` A type that allows a single short
`static SequenceType` `SINGLE_STRING` A type that allows a single string
`static SequenceType` `SINGLE_UNTYPED_ATOMIC` A type that allows a single untyped atomic

Method Summary
`boolean` `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`int` `getCardinality()` Get the cardinality component of this SequenceType.
`ItemType` `getPrimaryType()` Get the "primary" part of this required type.
`int` `hashCode()` Returns a hash code value for the object.
`static SequenceType` `makeSequenceType(ItemType primaryType, int cardinality)` Construct an instance of SequenceType.
`boolean` `matches(Value value, Configuration config)` Determine whether a given value is a valid instance of this SequenceType
`String` `toString()` Return a string representation of this SequenceType

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

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

### OPTIONAL_ITEM

    public static final SequenceType OPTIONAL_ITEM

  A type that allows zero or one items, 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_UNTYPED_ATOMIC

    public static final SequenceType SINGLE_UNTYPED_ATOMIC

  A type that allows a single untyped atomic

### OPTIONAL_STRING

    public static final SequenceType OPTIONAL_STRING

  A type that allows a single optional string

### SINGLE_BOOLEAN

    public static final SequenceType SINGLE_BOOLEAN

  A type that allows a single boolean

### OPTIONAL_BOOLEAN

    public static final SequenceType OPTIONAL_BOOLEAN

  A type that allows a single optional integer

### 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 optional integer

### SINGLE_LONG

    public static final SequenceType SINGLE_LONG

  A type that allows a single long

### OPTIONAL_LONG

    public static final SequenceType OPTIONAL_LONG

  A type that allows a single optional long

### SINGLE_INT

    public static final SequenceType SINGLE_INT

  A type that allows a single int

### OPTIONAL_INT

    public static final SequenceType OPTIONAL_INT

  A type that allows a single optional int

### SINGLE_SHORT

    public static final SequenceType SINGLE_SHORT

  A type that allows a single short

### OPTIONAL_SHORT

    public static final SequenceType OPTIONAL_SHORT

  A type that allows a single optional short

### SINGLE_BYTE

    public static final SequenceType SINGLE_BYTE

  A type that allows a single short

### OPTIONAL_BYTE

    public static final SequenceType OPTIONAL_BYTE

  A type that allows a single optional byte

### SINGLE_DOUBLE

    public static final SequenceType SINGLE_DOUBLE

  A type that allows a single double

### OPTIONAL_DOUBLE

    public static final SequenceType OPTIONAL_DOUBLE

  A type that allows a single optional double

### SINGLE_FLOAT

    public static final SequenceType SINGLE_FLOAT

  A type that allows a single float

### OPTIONAL_FLOAT

    public static final SequenceType OPTIONAL_FLOAT

  A type that allows a single optional float

### OPTIONAL_DECIMAL

    public static final SequenceType OPTIONAL_DECIMAL

  A type that allows a single optional decimal

### OPTIONAL_ANY_URI

    public static final SequenceType OPTIONAL_ANY_URI

  A type that allows a single optional anyURI

### OPTIONAL_DATE_TIME

    public static final SequenceType OPTIONAL_DATE_TIME

  A type that allows a single optional dateTime

### OPTIONAL_QNAME

    public static final SequenceType OPTIONAL_QNAME

  A type that allows a single optional xs:QName

### OPTIONAL_NUMERIC

    public static final SequenceType OPTIONAL_NUMERIC

  A type that allows an optional numeric value

### 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

### OPTIONAL_DOCUMENT_NODE

    public static final SequenceType OPTIONAL_DOCUMENT_NODE

  A type that allows a single document node

### SINGLE_ELEMENT_NODE

    public static final SequenceType SINGLE_ELEMENT_NODE

  A type that allows a single element 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

### NON_EMPTY_SEQUENCE

    public static final SequenceType NON_EMPTY_SEQUENCE

  A type that only permits a non-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`

### matches

    public boolean matches(Value value,
                           Configuration config)
                    throws XPathException

  Determine whether a given value is a valid instance of this SequenceType

  Parameters:
    `value` - the value to be tested
  Returns:
    true if the value is a valid instance of this type
  Throws:
    `XPathException`

### toString

    public String toString()

  Return a string representation of this SequenceType

  Overrides:
    `toString` in class `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 `Object`

### equals

    public boolean equals(Object obj)

  Indicates whether some other object is "equal to" this one.

  Overrides:
    `equals` in class `Object`

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.