Uploaded image for project: 'Commons Sandbox'
  1. Commons Sandbox
  2. SANDBOX-125

[id] New TimeBasedAlphanumericIdentifierGenerator

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Id
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Bugzilla Id:
      36683

      Description

      Javadoc extract:
      ================

      TimeBasedAlphanumericIdentifierGenerator</code> is an Identifier Generator that
      generates an alphanumeric identifier in base 36 as a String object from the
      current UTC time and an internal counter.

      The generator guarantees that all generated ids have an increasing natural sort
      order (even if the time internally has an overflow). The implementation
      additionally guarantees, that all instances within the same process do generate
      unique ids. All generated ids have the same length (padding with 0's on the
      left), which is determined by the maximum size of a long value and the
      <code>postfixSize</code> parameter passed to the constructor.

      Note: To ensure unique ids that are created within the same millisecond (or
      maximum time resolution of the system), the implementation uses an internal
      counter. The maximum value of this counter is determined by the
      <code>postfixSize</code> parameter i.e. the largest value that can be
      represented in base 36. If the counter exceeds this value, an
      IllegalStateException is thrown.

      Note: The uniqueness of the generated ids cannot be guaranteed if the system
      performs time shifts, that affect the running processes.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              joehni Joerg Schaible
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: