Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.expr.sort
Class IntRangeSet

    java.lang.Object
      net.sf.saxon.expr.sort.AbstractIntSet
          net.sf.saxon.expr.sort.IntRangeSet

All Implemented Interfaces:
  Serializable, IntSet

    public class IntRangeSet

extends AbstractIntSet
implements Serializable, IntSet

Set of int values. This implementation of IntSet uses a sorted array of integer ranges.

Author:
  Michael Kay
See Also:
  Serialized Form

Constructor Summary
`IntRangeSet()` Create an empty set
`IntRangeSet(int[] startPoints, int[] endPoints)` Create an IntRangeSet given the start points and end points of the integer ranges.
`IntRangeSet(IntRangeSet input)` Create one IntRangeSet as a copy of another

Method Summary
`boolean` | `add(int value)` Add an integer to the set
`void` | `addRange(int low, int high)` Add a range of integers to the set.
`void` | `clear()` Clear the contents of the IntSet (making it an empty set)
`boolean` | `contains(int value)` Determine whether a particular integer is present in the set
`IntSet` | `copy()` Create a copy of this IntSet that leaves the original unchanged.
`boolean` | `equals(Object other)` Test whether this set has exactly the same members as another set.
`int[]` | `getEndPoints()` Get the end points of the ranges
`int` | `getNumberOfRanges()` Get the number of ranges actually in use
`int[]` | `getStartPoints()` Get the start points of the ranges
`int` | `hashCode()` Construct a hash key that supports the equals() test
`boolean` | `isEmpty()` Determine if the set is empty
`IntIterator` | `iterator()` Get an iterator over the values
`IntSet` | `mutableCopy()` Create a copy of this IntSet that contains the same set of integers.
`boolean` | `remove(int value)` Remove an integer from the set
`int` | `size()` Get the number of integers in the set
`String` | `toString()`

Methods inherited from class net.sf.saxon.expr.sort.AbstractIntSet
`containsAll, except, intersect, union`

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

Methods inherited from interface net.sf.saxon.expr.sort.IntSet
`containsAll, except, intersect, union`

Constructor Detail

### IntRangeSet

    public IntRangeSet()

  Create an empty set

### IntRangeSet

    public IntRangeSet(IntRangeSet input)

  Create one IntRangeSet as a copy of another

  Parameters:
    `input` - the IntRangeSet to be copied

### IntRangeSet

    public IntRangeSet(int[] startPoints,
                       int[] endPoints)

  Create an IntRangeSet given the start points and end points of the integer ranges. The two arrays must be the same length; each must be in ascending order; and the n'th end point must be greater than the n'th start point, and less than the n+1'th start point, for all n.

  Parameters:
    `startPoints` - the start points of the integer ranges
    `endPoints` - the end points of the integer ranges
  Throws:
    `IllegalArgumentException` - if the two arrays are different lengths. Other error conditions in the input are not currently detected.

Method Detail

### clear

    public void clear()

  Description copied from interface: `IntSet`
  Clear the contents of the IntSet (making it an empty set)

  Specified by:
    `clear` in interface `IntSet`

### copy

    public IntSet copy()

  Description copied from interface: `IntSet`
  Create a copy of this IntSet that leaves the original unchanged.

  Specified by:
    `copy` in interface `IntSet`
  Returns:
    an IntSet containing the same integers. The result will not necessarily be the same class as the original. It will either be an immutable object, or a newly constructed object.

### mutableCopy

    public IntSet mutableCopy()

  Description copied from interface: `IntSet`
  Create a copy of this IntSet that contains the same set of integers.

  Specified by:
    `mutableCopy` in interface `IntSet`
  Returns:
    an IntSet containing the same integers. The result will not necessarily be the same class as the original. It will always be a mutable object

### size

    public int size()

  Description copied from interface: `IntSet`
  Get the number of integers in the set

  Specified by:
    `size` in interface `IntSet`
  Returns:
    the size of the set

### isEmpty

    public boolean isEmpty()

  Description copied from interface: `IntSet`
  Determine if the set is empty

  Specified by:
    `isEmpty` in interface `IntSet`
  Returns:
    true if the set is empty, false if not

### contains

    public boolean contains(int value)

  Description copied from interface: `IntSet`
  Determine whether a particular integer is present in the set

  Specified by:
    `contains` in interface `IntSet`
  Parameters:
    `value` - the integer under test
  Returns:
    true if value is present in the set, false if not

### remove

    public boolean remove(int value)

  Description copied from interface: `IntSet`
  Remove an integer from the set

  Specified by:
    `remove` in interface `IntSet`
  Parameters:
    `value` - the integer to be removed
  Returns:
    true if the integer was present in the set, false if it was not present

### add

    public boolean add(int value)

  Add an integer to the set

  Specified by:
    `add` in interface `IntSet`
  Parameters:
    `value` - the integer to be added
  Returns:
    true if the integer was added, false if it was already present

### iterator

    public IntIterator iterator()

  Get an iterator over the values

  Specified by:
    `iterator` in interface `IntSet`
  Returns:
    an iterator over the integers in the set

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### equals

    public boolean equals(Object other)

  Test whether this set has exactly the same members as another set. Note that IntRangeSet values are NOT comparable with other implementations of IntSet

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Construct a hash key that supports the equals() test

  Overrides:
    `hashCode` in class `Object`

### addRange

    public void addRange(int low,
                         int high)

  Add a range of integers to the set. This is optimized for the case where these are all greater than any existing integer in the set.

  Parameters:
    `low` - the low end of the new range
    `high` - the high end of the new range

### getStartPoints

    public int[] getStartPoints()

  Get the start points of the ranges

### getEndPoints

    public int[] getEndPoints()

  Get the end points of the ranges

### getNumberOfRanges

    public int getNumberOfRanges()

  Get the number of ranges actually in use

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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