Class DefaultUlidIdGenerator

java.lang.Object
com.broadleafcommerce.common.dataimport.util.DefaultUlidIdGenerator
All Implemented Interfaces:
IdResolver

public class DefaultUlidIdGenerator extends Object implements IdResolver
If no id was generated, generates a new one based on a ULID
Author:
Phillip Verheyden (phillipuniverse)
  • Constructor Details

    • DefaultUlidIdGenerator

      public DefaultUlidIdGenerator()
  • Method Details

    • resolveId

      public String resolveId(@Nullable String recordType, @Nullable OperationType suppliedOperation, @Nullable String suppliedId, @Nullable Map<String,String> row)
      Description copied from interface: IdResolver
      Determine the id that should be used for BatchRecord.getResourceTierIdentifier() for the parsed record from a file. While this could be used to generate a default id, the result of this can return null which would move the responsibility of id generation to the resource tier
      Specified by:
      resolveId in interface IdResolver
      Parameters:
      recordType - the type of record being resolved
      suppliedOperation - the operation that was given by the user in the file, can be null
      suppliedId - the primary key resolved from the file, can be null
      row - the record parsed from the file
      Returns:
      operation that should be used for the record
    • nextId

      public String nextId()
      Description copied from interface: IdResolver
      Simply a method to return the next available ID if it can be determined.
      Specified by:
      nextId in interface IdResolver
      Returns:
      the next ID
    • getRandom

      protected static Random getRandom()
      This provides subclasses the ability to access the shared SecureRandom instance.
      Returns:
      Shared SecureRandom instance.
    • nextUlid

      public static String nextUlid()
      Static method that allows direct access to generate a ULID.
      Returns:
      the next available ULID