Class PrefixedIncrementingId


  • @Internal
    public final class PrefixedIncrementingId
    extends java.lang.Object
    A thread safe incrementing identifier.
    Since:
    5.1.4
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.concurrent.atomic.AtomicLong count  
      private java.lang.String prefix0  
      private java.lang.String prefix1  
      private java.lang.String prefix2  
      private java.lang.String prefix3  
      private java.lang.String prefix4  
      private java.lang.String prefix5  
      private java.lang.String prefix6  
      private java.lang.String prefix7  
      private java.lang.String prefix8  
      private java.lang.String prefix9  
    • Constructor Summary

      Constructors 
      Constructor Description
      PrefixedIncrementingId​(java.lang.String prefix)
      Creates an incrementing identifier.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) java.lang.String createId​(long value)
      Create an ID from this instance's prefix and zero padded specified value.
      java.lang.String getNextId()  
      long getNextNumber()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • count

        private final java.util.concurrent.atomic.AtomicLong count
      • prefix0

        private final java.lang.String prefix0
      • prefix1

        private final java.lang.String prefix1
      • prefix2

        private final java.lang.String prefix2
      • prefix3

        private final java.lang.String prefix3
      • prefix4

        private final java.lang.String prefix4
      • prefix5

        private final java.lang.String prefix5
      • prefix6

        private final java.lang.String prefix6
      • prefix7

        private final java.lang.String prefix7
      • prefix8

        private final java.lang.String prefix8
      • prefix9

        private final java.lang.String prefix9
    • Constructor Detail

      • PrefixedIncrementingId

        public PrefixedIncrementingId​(java.lang.String prefix)
        Creates an incrementing identifier.
        Parameters:
        prefix - string prefix for generated IDs
    • Method Detail

      • getNextNumber

        public long getNextNumber()
      • getNextId

        public java.lang.String getNextId()
      • createId

        java.lang.String createId​(long value)
        Create an ID from this instance's prefix and zero padded specified value. Hand rolled equivalent to `String.format("ex-%010d", value)` optimized to reduce allocation and CPU overhead.