IPartitioner (apache-cassandra API)
Date: 2018-02-12

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
    Modifier and Type | Method and Description
    --- | ---
    `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()

Copyright © 2018 The Apache Software Foundation