## net.sf.saxon.value
Class IntegerRange

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

All Implemented Interfaces:
  java.io.Serializable, SequenceIterable, GroundedValue, ValueRepresentation

    public class IntegerRange

extends Value
implements GroundedValue

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)
`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.
`GroundedValue` `subsequence(int start, int length)` Get a subsequence of the value

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

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

Methods inherited from interface net.sf.saxon.om.ValueRepresentation
`getStringValue, getStringValueCS`

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

### 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` - the type hierarchy cache
  Returns:
    AnyItemType (not known)

### getCardinality

    public int getCardinality()

  Determine the cardinality

  Overrides:
    `getCardinality` in class `Value`
  Returns:
    the cardinality

### itemAt

    public Item itemAt(int n)

  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)

  Specified by:
    `itemAt` in interface `GroundedValue`
  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.

### subsequence

    public GroundedValue subsequence(int start,
                                     int length)

  Get a subsequence of the value

  Specified by:
    `subsequence` in interface `GroundedValue`
  Parameters:
    `start` - the index of the first item to be included in the result, counting from zero. A negative value is taken as zero. If the value is beyond the end of the sequence, an empty sequence is returned
    `length` - the number of items to be included in the result. Specify Integer.MAX_VALUE to get the subsequence up to the end of the base sequence. If the value is negative, an empty sequence is returned. If the value goes off the end of the sequence, the result returns items up to the end of the sequence
  Returns:
    the required subsequence.

### getLength

    public int getLength()
                  throws XPathException

  Get the length of the sequence

  Overrides:
    `getLength` in class `Value`
  Returns:
    the number of items in the sequence
  Throws:
    `XPathException`

Copyright (c) Saxonica Limited. All rights reserved.