## net.sf.saxon.value
Class IntegerRange

    java.lang.Object
      net.sf.saxon.value.Value
          net.sf.saxon.value.IntegerRange

All Implemented Interfaces:
  Serializable, Comparable, SequenceIterable, ValueRepresentation

    public class IntegerRange

extends Value

This class represents a sequence of consecutive ascending integers, for example 1 to 50. The integers must be within the range of a Java long.

See Also:
  Serialized Form

Field Summary
`long` `end`
`long` `start`

Fields inherited from class net.sf.saxon.value.Value
`EMPTY_CLASS_ARRAY, INDETERMINATE_ORDERING`

Fields inherited from interface net.sf.saxon.om.ValueRepresentation
`EMPTY_VALUE_ARRAY`

Constructor Summary
`IntegerRange(long start, long end)` Construct an integer range expression

Method Summary
`int` `getCardinality()` Determine the cardinality
`long` `getEnd()` Get the last integer in the sequence (inclusive)
`ItemType` `getItemType(TypeHierarchy th)` Determine the data type of the items in the expression, if possible
`int` `getLength()` Get the length of the sequence
`long` `getStart()` Get the first integer in the sequence (inclusive)
`boolean` `isMultiValued()` Determine whether the value is multivalued, that is, whether it is a sequence that potentially contains more than one item
`Item` `itemAt(int n)` Get the n'th item in the sequence (starting from 0).
`SequenceIterator` `iterate()` Return an Iterator to iterate over the values of a sequence.

Methods inherited from class net.sf.saxon.value.Value
`asItem, asItem, asIterator, asValue, checkPermittedContents, compareTo, convert, convertJavaObjectToXPath, convertToJava, effectiveBooleanValue, equals, fromItem, getCanonicalLexicalRepresentation, getIterator, getSchemaComparable, getStringValue, getStringValueCS, hashCode, iterate, makeQNameValue, process, reduce, stringToNumber, toString`

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

Field Detail

### start

    public long start

### end

    public long end

Constructor Detail

### IntegerRange

    public IntegerRange(long start,
                        long end)

  Construct an integer range expression

  Parameters:
    `start` - the first integer in the sequence (inclusive)
    `end` - the last integer in the sequence (inclusive). Must be >= start

Method Detail

### isMultiValued

    public boolean isMultiValued()

  Determine whether the value is multivalued, that is, whether it is a sequence that potentially contains more than one item

  Specified by:
    `isMultiValued` in class `Value`
  Returns:
    true if the value might contain more than one item, false if it definitely contains zero or one items

### getStart

    public long getStart()

  Get the first integer in the sequence (inclusive)

  Returns:
    the first integer in the sequence (inclusive)

### getEnd

    public long getEnd()

  Get the last integer in the sequence (inclusive)

  Returns:
    the last integer in the sequence (inclusive)

### iterate

    public SequenceIterator iterate()
                             throws XPathException

  Return an Iterator to iterate over the values of a sequence. The value of every expression can be regarded as a sequence, so this method is supported for all expressions. This default implementation handles iteration for expressions that return singleton values: for non-singleton expressions, the subclass must provide its own implementation.

  Specified by:
    `iterate` in class `Value`
  Returns:
    a SequenceIterator that can be used to iterate over the result of the expression
  Throws:
    `XPathException` - if any dynamic error occurs evaluating the expression

### getItemType

    public ItemType getItemType(TypeHierarchy th)

  Determine the data type of the items in the expression, if possible

  Overrides:
    `getItemType` in class `Value`
  Parameters:
    `th` -
  Returns:
    AnyItemType (not known)

### getCardinality

    public int getCardinality()

  Determine the cardinality

  Overrides:
    `getCardinality` in class `Value`

### itemAt

    public Item itemAt(int n)
                throws XPathException

  Get the n'th item in the sequence (starting from 0). This is defined for all Values, but its real benefits come for a sequence Value stored extensionally (or for a MemoClosure, once all the values have been read)

  Overrides:
    `itemAt` in class `Value`
  Parameters:
    `n` - position of the required item, counting from zero.
  Returns:
    the n'th item in the sequence, where the first item in the sequence is numbered zero. If n is negative or >= the length of the sequence, returns null.
  Throws:
    `XPathException`

### getLength

    public int getLength()
                  throws XPathException

  Get the length of the sequence

  Overrides:
    `getLength` in class `Value`
  Throws:
    `XPathException`

Copyright (C) Michael H. Kay. All rights reserved.