org.infinispan.distribution.ch
Class ConsistentHashHelper

java.lang.Object
  extended by org.infinispan.distribution.ch.ConsistentHashHelper

public class ConsistentHashHelper
extends Object

A helper class that handles the construction of consistent hash instances based on configuration.

Since:
4.0
Author:
Manik Surtani, Mircea.Markus@jboss.com

Constructor Summary
ConsistentHashHelper()
           
 
Method Summary
static ConsistentHash createConsistentHash(Configuration c, Collection<Address> addresses, Collection<Address> moreAddresses, TopologyInfo topologyInfo)
          Creates a new consistent hash instance based on the user's configuration, and populates the consistent hash with the collection of addresses passed in.
static ConsistentHash createConsistentHash(Configuration c, Collection<Address> addresses, TopologyInfo topologyInfo)
          Creates a new consistent hash instance based on the user's configuration, and populates the consistent hash with the collection of addresses passed in.
static ConsistentHash createConsistentHash(Configuration c, Collection<Address> addresses, TopologyInfo topologyInfo, Address... moreAddresses)
          Creates a new consistent hash instance based on the user's configuration, and populates the consistent hash with the collection of addresses passed in.
static ConsistentHash createConsistentHash(ConsistentHash template, Collection<Address> addresses, TopologyInfo topologyInfo)
          Creates a new consistent hash instance based on the type specified, and populates the consistent hash with the collection of addresses passed in.
static ConsistentHash createConsistentHash(ConsistentHash template, Collection<Address> addresses, TopologyInfo topologyInfo, Address... moreAddresses)
          Creates a new consistent hash instance based on the type specified, and populates the consistent hash with the collection of addresses passed in.
static ConsistentHash removeAddress(ConsistentHash ch, Address toRemove, Configuration c, TopologyInfo topologyInfo)
          Returns a new consistent hash of the same type with the given address removed.
static UnionConsistentHash removeAddressFromUnionConsistentHash(UnionConsistentHash uch, Address toRemove, Configuration c, TopologyInfo topologyInfo)
          Creates a new UnionConsistentHash instance based on the old instance, removing the provided address from both target consistent hash instances in the union.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConsistentHashHelper

public ConsistentHashHelper()
Method Detail

removeAddress

public static ConsistentHash removeAddress(ConsistentHash ch,
                                           Address toRemove,
                                           Configuration c,
                                           TopologyInfo topologyInfo)
Returns a new consistent hash of the same type with the given address removed.

Parameters:
ch - consistent hash to start with
toRemove - address to remove
c - configuration
topologyInfo -
Returns:
a new consistent hash instance of the same type

removeAddressFromUnionConsistentHash

public static UnionConsistentHash removeAddressFromUnionConsistentHash(UnionConsistentHash uch,
                                                                       Address toRemove,
                                                                       Configuration c,
                                                                       TopologyInfo topologyInfo)
Creates a new UnionConsistentHash instance based on the old instance, removing the provided address from both target consistent hash instances in the union.

Parameters:
uch - union consistent hash instance
toRemove - address to remove
c - configuration
topologyInfo -
Returns:
a new UnionConsistentHash instance

createConsistentHash

public static ConsistentHash createConsistentHash(Configuration c,
                                                  Collection<Address> addresses,
                                                  TopologyInfo topologyInfo)
Creates a new consistent hash instance based on the user's configuration, and populates the consistent hash with the collection of addresses passed in.

Parameters:
c - configuration
addresses - with which to populate the consistent hash
topologyInfo -
Returns:
a new consistent hash instance

createConsistentHash

public static ConsistentHash createConsistentHash(Configuration c,
                                                  Collection<Address> addresses,
                                                  TopologyInfo topologyInfo,
                                                  Address... moreAddresses)
Creates a new consistent hash instance based on the user's configuration, and populates the consistent hash with the collection of addresses passed in.

Parameters:
c - configuration
addresses - with which to populate the consistent hash
topologyInfo -
moreAddresses - to add to the list of addresses @return a new consistent hash instance

createConsistentHash

public static ConsistentHash createConsistentHash(Configuration c,
                                                  Collection<Address> addresses,
                                                  Collection<Address> moreAddresses,
                                                  TopologyInfo topologyInfo)
Creates a new consistent hash instance based on the user's configuration, and populates the consistent hash with the collection of addresses passed in.

Parameters:
c - configuration
addresses - with which to populate the consistent hash
moreAddresses - to add to the list of addresses
topologyInfo -
Returns:
a new consistent hash instance

createConsistentHash

public static ConsistentHash createConsistentHash(ConsistentHash template,
                                                  Collection<Address> addresses,
                                                  TopologyInfo topologyInfo)
Creates a new consistent hash instance based on the type specified, and populates the consistent hash with the collection of addresses passed in.

Parameters:
template - An older consistent hash instance to clone
addresses - with which to populate the consistent hash
topologyInfo -
Returns:
a new consistent hash instance

createConsistentHash

public static ConsistentHash createConsistentHash(ConsistentHash template,
                                                  Collection<Address> addresses,
                                                  TopologyInfo topologyInfo,
                                                  Address... moreAddresses)
Creates a new consistent hash instance based on the type specified, and populates the consistent hash with the collection of addresses passed in.

Parameters:
template - An older consistent hash instance to clone
addresses - with which to populate the consistent hash
topologyInfo -
moreAddresses - to add to the list of addresses @return a new consistent hash instance


Copyright © 2011 JBoss, a division of Red Hat. All Rights Reserved.