org.apache.cassandra.utils

## Class MerkleTree.TreeRange

- java.lang.Object
- - org.apache.cassandra.dht.AbstractBounds<T>
  - - org.apache.cassandra.dht.Range<Token>
    - - org.apache.cassandra.utils.MerkleTree.TreeRange

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable<Range<Token>>

Direct Known Subclasses:
  MerkleTree.TreeDifference

Enclosing class:
  MerkleTree

    public static class MerkleTree.TreeRange
    extends Range<Token>

The public interface to a range in the tree. NB: A TreeRange should not be returned by a public method unless the parents of the range it represents are already invalidated, since it will allow someone to modify the hash. Alternatively, a TreeRange may be created with a null tree, indicating that it is read only.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.cassandra.dht.Range

`Range.OrderedRangeContainmentChecker`

### Nested classes/interfaces inherited from class org.apache.cassandra.dht.AbstractBounds

`AbstractBounds.AbstractBoundsSerializer<T extends RingPosition<T>>, AbstractBounds.Boundary<T extends RingPosition<T>>`

### Field Summary

Fields
`byte` `depth`
`static long` `serialVersionUID`

### Fields inherited from class org.apache.cassandra.dht.AbstractBounds

`left, right, rowPositionSerializer, tokenSerializer`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addAll(java.util.Iterator<MerkleTree.RowHash> entries)`
`void` `addHash(MerkleTree.RowHash entry)`
`void` `ensureHashInitialised()`
`byte[]` `hash()`
`void` `hash(byte[] hash)`
`java.lang.String` `toString()`

### Methods inherited from class org.apache.cassandra.dht.Range

`asList, compareTo, contains, contains, contains, differenceToFetch, equals, getClosingString, getOpeningString, inclusiveLeft, inclusiveRight, intersectionWith, intersects, intersects, intersects, isEndInclusive, isInRanges, isStartInclusive, isWrapAround, isWrapAround, makeRowRange, makeRowRange, normalize, rangeSet, rangeSet, sort, split, subtract, subtractAll, unwrap, withNewRight`

### Methods inherited from class org.apache.cassandra.dht.AbstractBounds

`bounds, bounds, getString, hashCode, intersects, isEmpty, leftBoundary, maxLeft, maxLeft, minRight, minRight, noneStrictlyWrapsAround, rightBoundary, strictlyWrapsAround`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### serialVersionUID

    public static final long serialVersionUID

See Also:
  Constant Field Values

#### depth

    public final byte depth

### Method Detail

#### hash

    public void hash(byte[] hash)

#### hash

    public byte[] hash()

#### addHash

    public void addHash(MerkleTree.RowHash entry)

Parameters:
  `entry` - Row to mix into the hash for this range.

#### ensureHashInitialised

    public void ensureHashInitialised()

#### addAll

    public void addAll(java.util.Iterator<MerkleTree.RowHash> entries)

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Range<Token>`