Rice Pastry API

rice.pastry.commonapi
Class PastryIdFactory

java.lang.Object
  extended by rice.pastry.commonapi.PastryIdFactory
All Implemented Interfaces:
IdFactory

public class PastryIdFactory
extends java.lang.Object
implements IdFactory

This class provides applications with a way of genertating pastry Ids.

Version:
$Id: PastryIdFactory.java 3524 2007-01-09 14:09:27Z jeffh $
Author:
Alan Mislove, Peter Druschel

Constructor Summary
PastryIdFactory(Environment env)
          Constructor
 
Method Summary
 Id buildId(byte[] material)
          Builds a protocol-specific Id given the source data.
 Id buildId(int[] material)
          Builds a protocol-specific Id given the source data.
 Id buildId(java.lang.String string)
          Builds a protocol-specific Id by using the hash of the given string as source data.
 Id.Distance buildIdDistance(byte[] material)
          Builds a protocol-specific Id.Distance given the source data.
 Id buildIdFromToString(char[] chars, int offset, int length)
          Builds an Id by converting the given toString() output back to an Id.
 Id buildIdFromToString(java.lang.String string)
          Builds an Id by converting the given toString() output back to an Id.
 IdRange buildIdRange(Id cw, Id ccw)
          Creates an IdRange given the CW and CCW ids.
 IdRange buildIdRangeFromPrefix(java.lang.String string)
          Builds an IdRange based on a prefix.
 IdSet buildIdSet()
          Creates an empty IdSet.
 IdSet buildIdSet(java.util.SortedMap map)
          Creates an empty IdSet.
 NodeHandleSet buildNodeHandleSet()
          Creates an empty NodeHandleSet.
 Id buildRandomId(java.util.Random rng)
          Builds a random protocol-specific Id.
 Id buildRandomId(RandomSource rng)
           
 int getIdToStringLength()
          Returns the length a Id.toString should be.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PastryIdFactory

public PastryIdFactory(Environment env)
Constructor

Method Detail

buildId

public Id buildId(byte[] material)
Builds a protocol-specific Id given the source data.

Specified by:
buildId in interface IdFactory
Parameters:
material - The material to use
Returns:
The built Id.

buildId

public Id buildId(int[] material)
Builds a protocol-specific Id given the source data.

Specified by:
buildId in interface IdFactory
Parameters:
material - The material to use
Returns:
The built Id.

buildId

public Id buildId(java.lang.String string)
Builds a protocol-specific Id by using the hash of the given string as source data.

Specified by:
buildId in interface IdFactory
Parameters:
string - The string to use as source data
Returns:
The built Id.

buildRandomId

public Id buildRandomId(java.util.Random rng)
Builds a random protocol-specific Id.

Specified by:
buildRandomId in interface IdFactory
Parameters:
rng - A random number generator
Returns:
The built Id.

buildRandomId

public Id buildRandomId(RandomSource rng)
Specified by:
buildRandomId in interface IdFactory

buildIdFromToString

public Id buildIdFromToString(java.lang.String string)
Builds an Id by converting the given toString() output back to an Id. Should not normally be used.

Specified by:
buildIdFromToString in interface IdFactory
Parameters:
string - The toString() representation of an Id
Returns:
The built Id.

buildIdFromToString

public Id buildIdFromToString(char[] chars,
                              int offset,
                              int length)
Builds an Id by converting the given toString() output back to an Id. Should not normally be used.

Specified by:
buildIdFromToString in interface IdFactory
Parameters:
chars - The character array
offset - The offset to start reading at
length - The length to read
Returns:
The built Id.

buildIdRangeFromPrefix

public IdRange buildIdRangeFromPrefix(java.lang.String string)
Builds an IdRange based on a prefix. Any id which has this prefix should be inside this IdRange, and any id which does not share this prefix should be outside it.

Specified by:
buildIdRangeFromPrefix in interface IdFactory
Parameters:
string - The toString() representation of an Id
Returns:
The built Id.

getIdToStringLength

public int getIdToStringLength()
Returns the length a Id.toString should be.

Specified by:
getIdToStringLength in interface IdFactory
Returns:
The correct length;

buildIdDistance

public Id.Distance buildIdDistance(byte[] material)
Builds a protocol-specific Id.Distance given the source data.

Specified by:
buildIdDistance in interface IdFactory
Parameters:
material - The material to use
Returns:
The built Id.Distance.

buildIdRange

public IdRange buildIdRange(Id cw,
                            Id ccw)
Creates an IdRange given the CW and CCW ids.

Specified by:
buildIdRange in interface IdFactory
Parameters:
cw - The clockwise Id
ccw - The counterclockwise Id
Returns:
An IdRange with the appropriate delimiters.

buildIdSet

public IdSet buildIdSet()
Creates an empty IdSet.

Specified by:
buildIdSet in interface IdFactory
Returns:
an empty IdSet

buildIdSet

public IdSet buildIdSet(java.util.SortedMap map)
Creates an empty IdSet.

Specified by:
buildIdSet in interface IdFactory
Returns:
an empty IdSet

buildNodeHandleSet

public NodeHandleSet buildNodeHandleSet()
Creates an empty NodeHandleSet.

Specified by:
buildNodeHandleSet in interface IdFactory
Returns:
an empty NodeHandleSet

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection