Interface IdGenerator

All Known Subinterfaces:
MistGenerator
All Known Implementing Classes:
CombGuidGenerator, CosIdGenerator, CUIDv1Generator, CUIDv2Generator, ElasticflakeIdGenerator, FlakeIdGenerator, FlakeIdGenerator, FlexIDKeyGenerator, HighPerformanceMistGenerator, JavaScriptSafetyIdGenerator, KsuidGenerator, LexicalUUIDGenerator, NanoIdGenerator, ObjectIdGenerator, OrderedUuidGenerator, PushIDGenerator, SecureMistGenerator, ShardingIdGenerator, SIDGenerator, SnowflakeIdGenerator, SonyflakeIdGenerator, StandardMistGenerator, TimeBasedBusinessIdGenerator, TimeBasedEntropyIdGenerator, TimeBasedRandomIdGenerator, ULIDGenerator, UUIDv1Generator, UUIDv2Generator, UUIDv4Generator, UUIDv6Generator, UUIDv7Generator, UUIDv8BroIdGenerator, UUIDv8Generator, WxSeqGenerator, XidGenerator

public interface IdGenerator
ID生成器接口

该接口定义了生成唯一标识符的基本行为。所有具体的ID生成器实现类都应该实现此接口。 接口提供了单个ID生成和批量ID生成的能力,同时要求实现类指定其生成的ID类型。

Since:
1.0
Author:
ixiongdi
  • Method Summary

    Modifier and Type
    Method
    Description
    生成一个唯一标识符。
    default Object[]
    generate(int count)
    批量生成指定数量的唯一标识符
    获取当前生成器的标识符类型
  • Method Details

    • generate

      Object generate()
      生成一个唯一标识符。 每个实现类都应该根据其特定的生成策略来实现此方法。
      Returns:
      生成的唯一标识符,具体类型由实现类决定
    • generate

      default Object[] generate(int count)
      批量生成指定数量的唯一标识符

      此方法提供了一个默认实现,通过多次调用generate()方法来生成多个ID。 实现类可以根据需要重写此方法以提供更高效的批量生成策略。

      Parameters:
      count - 要生成的ID数量,必须大于0
      Returns:
      包含生成的唯一标识符的数组
      Throws:
      IllegalArgumentException - 当count参数小于或等于0时抛出
    • idType

      IdType idType()
      获取当前生成器的标识符类型

      此方法用于标识生成器使用的具体ID生成策略。每个实现类都应该 返回一个对应其生成策略的IdType枚举值。

      Returns:
      当前生成器的标识符类型