Class MemoryStaticLongIDFactory

java.lang.Object
com.helger.base.id.factory.MemoryStaticLongIDFactory
All Implemented Interfaces:
IBaseIDFactory, ILongIDFactory

@ThreadSafe public final class MemoryStaticLongIDFactory extends Object implements ILongIDFactory
An implementation of ILongIDFactory using a single static AtomicLong.
Author:
Philip Helger
  • Field Details

    • INITIAL_ID

      public static final long INITIAL_ID
      The default start ID to use.
      See Also:
  • Constructor Details

    • MemoryStaticLongIDFactory

      public MemoryStaticLongIDFactory()
      Create a new instance using the shared static counter.
  • Method Details

    • getNewID

      @Nonnegative public long getNewID()
      Create a new unique long ID.
      Specified by:
      getNewID in interface ILongIDFactory
      Returns:
      The newly created ID.
    • getNewStaticID

      @Nonnegative public static long getNewStaticID()
      Get a new unique long ID from the static counter.
      Returns:
      A new unique long ID. Always ≥ 0.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object