public final class TokenRange extends Object implements Comparable<TokenRange>
unwrap().| Modifier and Type | Method and Description | 
|---|---|
| int | compareTo(TokenRange other) | 
| boolean | contains(Token token)Checks whether this range contains a given token. | 
| boolean | equals(Object other) | 
| Token | getEnd()Return the end of the range. | 
| Token | getStart()Return the start of the range. | 
| int | hashCode() | 
| boolean | intersects(TokenRange that)Returns whether this range intersects another one. | 
| List<TokenRange> | intersectWith(TokenRange that)Computes the intersection of this range with another one. | 
| boolean | isEmpty()Returns whether this range is empty. | 
| boolean | isWrappedAround()Returns whether this range wraps around the end of the ring. | 
| TokenRange | mergeWith(TokenRange that)Merges this range with another one. | 
| List<TokenRange> | splitEvenly(int numberOfSplits)Splits this range into a number of smaller ranges of equal "size" (referring to the number of tokens, not the actual amount of data). | 
| String | toString() | 
| List<TokenRange> | unwrap()Splits this range into a list of two non-wrapping ranges. | 
public Token getStart()
public Token getEnd()
public List<TokenRange> splitEvenly(int numberOfSplits)
numberOfSplits - the number of splits to create.IllegalArgumentException - if the range is empty or if numberOfSplits < 1.public boolean isEmpty()
public boolean isWrappedAround()
public List<TokenRange> unwrap()
]1,10] unwraps to itself;]10,1] unwraps to ]10,min_token] and ]min_token,1].
 
 List<Row> rows = new ArrayList<Row>();
 for (TokenRange subRange : range.unwrap()) {
     ResultSet rs = session.execute("SELECT * FROM mytable WHERE token(pk) > ? and token(pk) <= ?",
                                    subRange.getStart(), subRange.getEnd());
     rows.addAll(rs.all());
 }
 public boolean intersects(TokenRange that)
]3,5] intersects ]1,4], ]4,5]...]3,5] does not intersect ]1,2], ]2,3], ]5,7]...that - the other range.public List<TokenRange> intersectWith(TokenRange that)
intersects(TokenRange) beforehand.that - the other range.IllegalArgumentException - if the ranges do not intersect.public boolean contains(Token token)
token - the token to check for.range.start < token <= range.end.public TokenRange mergeWith(TokenRange that)
]3,5] with ]4,7] produces ]3,7];]3,5] with ]4,5] produces ]3,5];]3,5] with ]5,8] produces ]3,8];]3,5] with ]6,8] fails.that - the other range.IllegalArgumentException - if the ranges neither intersect nor are adjacent.public int compareTo(TokenRange other)
compareTo in interface Comparable<TokenRange>Copyright © 2012–2018. All rights reserved.