org.apache.cassandra.dht
Class AbstractBounds<T extends RingPosition>

java.lang.Object
  extended by org.apache.cassandra.dht.AbstractBounds<T>
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Bounds, ExcludingBounds, IncludingExcludingBounds, Range

public abstract class AbstractBounds<T extends RingPosition>
extends java.lang.Object
implements java.io.Serializable

See Also:
Serialized Form

Nested Class Summary
static class AbstractBounds.AbstractBoundsSerializer
           
 
Field Summary
 T left
           
protected  IPartitioner partitioner
           
 T right
           
 
Constructor Summary
AbstractBounds(T left, T right, IPartitioner partitioner)
           
 
Method Summary
abstract  boolean contains(T start)
           
 int hashCode()
           
 boolean intersects(java.lang.Iterable<Range<T>> ranges)
          return true if @param range intersects any of the given @param ranges
static AbstractBounds.AbstractBoundsSerializer serializer()
           
abstract  Pair<AbstractBounds<T>,AbstractBounds<T>> split(T position)
          Given token T and AbstractBounds ?L,R?, returns Pair(?L,T], (T,R?), where ? means that the same type of AbstractBounds is returned as the original.
abstract  AbstractBounds<RowPosition> toRowBounds()
          Transform this abstract bounds to equivalent covering bounds of row positions.
abstract  AbstractBounds<Token> toTokenBounds()
          Transform this abstract bounds to a token abstract bounds.
abstract  java.util.List<? extends AbstractBounds<T>> unwrap()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

left

public final T extends RingPosition left

right

public final T extends RingPosition right

partitioner

protected final transient IPartitioner partitioner
Constructor Detail

AbstractBounds

public AbstractBounds(T left,
                      T right,
                      IPartitioner partitioner)
Method Detail

serializer

public static AbstractBounds.AbstractBoundsSerializer serializer()

split

public abstract Pair<AbstractBounds<T>,AbstractBounds<T>> split(T position)
Given token T and AbstractBounds ?L,R?, returns Pair(?L,T], (T,R?), where ? means that the same type of AbstractBounds is returned as the original. Put another way, returns a Pair of everything this AbstractBounds contains up to and including the split position, and everything it contains after (not including the split position). The original AbstractBounds must either contain the position T, or T should be equals to the left bound L. If the split would only yield the same AbstractBound, null is returned instead.


hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

intersects

public boolean intersects(java.lang.Iterable<Range<T>> ranges)
return true if @param range intersects any of the given @param ranges


contains

public abstract boolean contains(T start)

unwrap

public abstract java.util.List<? extends AbstractBounds<T>> unwrap()

toRowBounds

public abstract AbstractBounds<RowPosition> toRowBounds()
Transform this abstract bounds to equivalent covering bounds of row positions. If this abstract bounds was already an abstractBounds of row positions, this is a noop.


toTokenBounds

public abstract AbstractBounds<Token> toTokenBounds()
Transform this abstract bounds to a token abstract bounds. If this abstract bounds was already an abstractBounds of token, this is a noop, otherwise this use the row position tokens.



Copyright © 2012 The Apache Software Foundation