org.apache.cassandra.dht

## Interface IPartitioner

All Known Implementing Classes:
  ByteOrderedPartitioner, LocalPartitioner, Murmur3Partitioner, OrderPreservingPartitioner, RandomPartitioner

    public interface IPartitioner

### Method Summary

All Methods Instance Methods Abstract Methods
`DecoratedKey` `decorateKey(java.nio.ByteBuffer key)` Transform key to object representation of the on-disk format.
`java.util.Map<Token,java.lang.Float>` `describeOwnership(java.util.List<Token> sortedTokens)` Calculate the deltas between tokens in the ring in order to compare relative sizes.
`Token` `getMinimumToken()`
`Token` `getRandomToken()`
`Token` `getToken(java.nio.ByteBuffer key)`
`Token.TokenFactory` `getTokenFactory()`
`AbstractType<?>` `getTokenValidator()`
`Token` `midpoint(Token left, Token right)` Calculate a Token representing the approximate "middle" of the given range.
`boolean` `preservesOrder()`

### Method Detail

#### decorateKey

    DecoratedKey decorateKey(java.nio.ByteBuffer key)

Transform key to object representation of the on-disk format.

Parameters:
  `key` - the raw, client-facing key
Returns:
  decorated version of key

#### midpoint

    Token midpoint(Token left,
                   Token right)

Calculate a Token representing the approximate "middle" of the given range.

Returns:
  The approximate midpoint between left and right.

#### getMinimumToken

    Token getMinimumToken()

Returns:
  A Token smaller than all others in the range that is being partitioned. Not legal to assign to a node or key. (But legal to use in range scans.)

#### getToken

    Token getToken(java.nio.ByteBuffer key)

Returns:
  a Token that can be used to route a given key (This is NOT a method to create a Token from its string representation; for that, use TokenFactory.fromString.)

#### getRandomToken

    Token getRandomToken()

Returns:
  a randomly generated token

#### getTokenFactory

    Token.TokenFactory getTokenFactory()

#### preservesOrder

    boolean preservesOrder()

Returns:
  True if the implementing class preserves key order in the Tokens it generates.

#### describeOwnership

    java.util.Map<Token,java.lang.Float> describeOwnership(java.util.List<Token> sortedTokens)

Calculate the deltas between tokens in the ring in order to compare relative sizes.

Parameters:
  `sortedTokens` - a sorted List of Tokens
Returns:
  the mapping from 'token' to 'percentage of the ring owned by that token'.

#### getTokenValidator

    AbstractType<?> getTokenValidator()