Class IdGenerator

java.lang.Object
org.powertac.common.IdGenerator

public class IdGenerator
extends Object
Generates numeric ID values for domain types. ID values are of the form xA+B, where x is the multiplier, A is an integer prefix, and B is the value of a counter incremented with each call. The use of a prefix allows the server to give each broker a space of ID values and prevent collisions.
Author:
John Collins
  • Constructor Summary

    Constructors 
    Constructor Description
    IdGenerator()  
  • Method Summary

    Modifier and Type Method Description
    static long createId()
    Generates a numeric ID as xA+B.
    static int extractPrefix​(long id)
    Returns the id prefix for the given id.
    static int getMultiplier()
    Returns the multiplier for an id, needed to validate id values
    static int getPrefix()
    Returns the id prefix - needed for testing.
    static String getString​(long id)
    Converts ID value to String as A.B.
    static void recycle()
    Recycles the generator.
    static void setPrefix​(int value)
    Each entity living in a separate process must have a different prefix value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • createId

      public static long createId()
      Generates a numeric ID as xA+B.
    • setPrefix

      public static void setPrefix​(int value)
      Each entity living in a separate process must have a different prefix value. These values are presumably set by the competition control service.
    • getPrefix

      public static int getPrefix()
      Returns the id prefix - needed for testing.
    • getString

      public static String getString​(long id)
      Converts ID value to String as A.B.
    • getMultiplier

      public static int getMultiplier()
      Returns the multiplier for an id, needed to validate id values
    • extractPrefix

      public static int extractPrefix​(long id)
      Returns the id prefix for the given id.
    • recycle

      public static void recycle()
      Recycles the generator. This should only be used in a setting where multiple sessions are run in a single process.