org.apache.cassandra.dht

## Class LocalPartitioner

- java.lang.Object
- - org.apache.cassandra.dht.LocalPartitioner

All Implemented Interfaces:
  IPartitioner

    public class LocalPartitioner
    extends java.lang.Object
    implements IPartitioner

### Nested Class Summary

Nested Classes
`class` `LocalPartitioner.LocalToken`

### Constructor Summary

Constructors
Constructor and Description
`LocalPartitioner(AbstractType<?> comparator)`

### Method Summary

All Methods Instance Methods Concrete 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.
`LocalPartitioner.LocalToken` `getMinimumToken()`
`LocalPartitioner.LocalToken` `getRandomToken()`
`LocalPartitioner.LocalToken` `getRandomToken(java.util.Random random)`
`LocalPartitioner.LocalToken` `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.
`AbstractType<?>` `partitionOrdering()` Abstract type that orders the same way as DecoratedKeys provided by this partitioner.
`boolean` `preservesOrder()`
`Token` `split(Token left, Token right, double ratioToLeft)` Calculate a Token which take approximate 0 <= ratioToLeft <= 1 ownership of the given range.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.cassandra.dht.IPartitioner

`getMaximumToken, splitter`

### Constructor Detail

#### LocalPartitioner

    public LocalPartitioner(AbstractType<?> comparator)

### Method Detail

#### decorateKey

    public DecoratedKey decorateKey(java.nio.ByteBuffer key)

Description copied from interface: `IPartitioner`
Transform key to object representation of the on-disk format.

Specified by:
  `decorateKey` in interface `IPartitioner`
Parameters:
  `key` - the raw, client-facing key
Returns:
  decorated version of key

#### midpoint

    public Token midpoint(Token left,
                          Token right)

Description copied from interface: `IPartitioner`
Calculate a Token representing the approximate "middle" of the given range.

Specified by:
  `midpoint` in interface `IPartitioner`
Returns:
  The approximate midpoint between left and right.

#### split

    public Token split(Token left,
                       Token right,
                       double ratioToLeft)

Description copied from interface: `IPartitioner`
Calculate a Token which take approximate 0 <= ratioToLeft <= 1 ownership of the given range.

Specified by:
  `split` in interface `IPartitioner`

#### getMinimumToken

    public LocalPartitioner.LocalToken getMinimumToken()

Specified by:
  `getMinimumToken` in interface `IPartitioner`
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

    public LocalPartitioner.LocalToken getToken(java.nio.ByteBuffer key)

Specified by:
  `getToken` in interface `IPartitioner`
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

    public LocalPartitioner.LocalToken getRandomToken()

Specified by:
  `getRandomToken` in interface `IPartitioner`
Returns:
  a randomly generated token

#### getRandomToken

    public LocalPartitioner.LocalToken getRandomToken(java.util.Random random)

Specified by:
  `getRandomToken` in interface `IPartitioner`
Parameters:
  `random` - instance of Random to use when generating the token
Returns:
  a randomly generated token

#### getTokenFactory

    public Token.TokenFactory getTokenFactory()

Specified by:
  `getTokenFactory` in interface `IPartitioner`

#### preservesOrder

    public boolean preservesOrder()

Specified by:
  `preservesOrder` in interface `IPartitioner`
Returns:
  True if the implementing class preserves key order in the Tokens it generates.

#### describeOwnership

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

Description copied from interface: `IPartitioner`
Calculate the deltas between tokens in the ring in order to compare relative sizes.

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

#### getTokenValidator

    public AbstractType<?> getTokenValidator()

Specified by:
  `getTokenValidator` in interface `IPartitioner`

#### partitionOrdering

    public AbstractType<?> partitionOrdering()

Description copied from interface: `IPartitioner`
Abstract type that orders the same way as DecoratedKeys provided by this partitioner. Used by secondary indices.

Specified by:
  `partitionOrdering` in interface `IPartitioner`