Package uno.xifan.id.base
Enum Class IdType
- All Implemented Interfaces:
Serializable,Comparable<IdType>,Constable
标识符类型枚举,定义了系统支持的各种ID生成策略。
每种类型都具有特定的生成规则和应用场景,可以根据实际需求选择合适的标识符类型。
- Since:
- 1.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionBrother ID,一种简单且易于理解的标识符格式。组合全局唯一标识符(COMB GUID)。标准Cos标识符实现。CUID版本1实现。CUID版本2实现。Brother ID,一种简单且易于理解的标识符格式。Elasticsearch兼容的雪花ID。Twitter风格的雪花ID。扩展的雪花ID。MyBatis-Flex框架的ID生成器。JavaScript安全的自定义ID。可排序的唯一标识符。支持字典序排序的UUID。标准Mist ID实现。Nano ID实现。MongoDB风格的对象ID。时间排序的UUID。Firebase风格的推送ID。分片友好的分布式ID。会话标识符。Twitter雪花算法实现。Sony版本的雪花算法实现。基于时间的业务标识符。基于时间的随机标识符。Brother ID,一种简单且易于理解的标识符格式。可排序的通用唯一标识符。UUID版本1。UUID版本2。UUID版本3(已弃用)。UUID版本4。UUID版本5。UUID版本6。UUID版本7。UUID版本8。微信序列号生成器。全局唯一标识符。 -
Method Summary
-
Enum Constant Details
-
BroId
Brother ID,一种简单且易于理解的标识符格式。 适用于小型系统或测试环境。 -
COMBGUID
组合全局唯一标识符(COMB GUID)。 在标准UUID基础上增加时间排序字节,提高数据库索引效率。 适用于需要高性能数据库操作的场景。 -
CosId
标准Cos标识符实现。 提供均衡的功能特性,包括唯一性、排序性和可读性。 适用于一般业务系统。 -
CUIDv1
CUID版本1实现。 使用加密元素生成防碰撞的唯一标识符。 适用于需要高安全性的场景。 -
CUIDv2
CUID版本2实现。 在v1基础上进行了优化,提供更好的性能和安全性。 适用于需要高安全性的场景。 -
DtsId
Brother ID,一种简单且易于理解的标识符格式。 适用于小型系统或测试环境。 -
ElasticFlake
Elasticsearch兼容的雪花ID。 支持分片功能,优化Elasticsearch性能。 适用于Elasticsearch环境。 -
Flake
Twitter风格的雪花ID。 包含时间戳、工作机器ID和序列号。 适用于分布式系统。 -
FlakeID
扩展的雪花ID。 在标准雪花ID基础上增加元数据位。 适用于需要额外信息的分布式系统。 -
FlexId
MyBatis-Flex框架的ID生成器。 与MyBatis-Flex框架集成的标识符生成策略。 适用于MyBatis-Flex项目。 -
JavaScriptSafetyId
JavaScript安全的自定义ID。 生成的ID可以安全地在JavaScript环境中使用。 适用于前端应用场景。 -
KSUID
可排序的唯一标识符。 使用base62编码,保证可读性和排序性。 适用于需要可读性的场景。 -
LexicalUUID
支持字典序排序的UUID。 优化的UUID变体,支持字典序排序。 适用于需要排序的场景。 -
MIST_ID
标准Mist ID实现。 提供均衡的功能特性。 适用于一般业务系统。 -
NanoId
Nano ID实现。 紧凑且URL安全的标识符格式。 适用于URL友好的场景。 -
ObjectID
MongoDB风格的对象ID。 包含时间戳、机器标识和计数器。 适用于MongoDB环境。 -
OrderedUuid
时间排序的UUID。 优化数据库性能的UUID变体。 适用于需要数据库性能优化的场景。 -
PushID
Firebase风格的推送ID。 具有时间顺序的标识符格式。 适用于实时数据库场景。 -
RAtomicLong
-
RID
-
SegmentChainId
-
SID
会话标识符。 包含过期时间戳的会话ID格式。 适用于会话管理场景。 -
ShardingID
分片友好的分布式ID。 优化数据库分片的标识符格式。 适用于分片数据库环境。 -
Snowflake
Twitter雪花算法实现。 64位标识符,包含时间戳、工作机器ID和序列号。 适用于分布式系统。 -
Sonyflake
Sony版本的雪花算法实现。 类似Twitter雪花算法的变体。 适用于分布式系统。 -
TimeBasedBusinessId
基于时间的业务标识符。 包含时间戳信息,便于业务追踪和排序。 适用于需要时间追踪的业务系统。 -
TimeBasedEntropyId
基于时间的随机标识符。 结合时间信息和随机性,提供高熵值。 适用于需要高随机性的场景。 -
TtsId
Brother ID,一种简单且易于理解的标识符格式。 适用于小型系统或测试环境。 -
ULID
可排序的通用唯一标识符。 结合了唯一性和可排序性。 适用于需要排序的分布式系统。 -
UUIDv1
UUID版本1。 基于MAC地址和时间戳生成。 适用于需要硬件相关性的场景。 -
UUIDv2
UUID版本2。 DCE安全版本,使用POSIX UID/GID。 适用于POSIX系统。 -
UUIDv3
UUID版本3(已弃用)。 基于MD5哈希的命名空间UUID。 不推荐使用。 -
UUIDv4
UUID版本4。 随机生成的UUID,提供高熵值。 适用于需要高随机性的场景。 -
UUIDv5
UUID版本5。 基于SHA-1哈希的命名空间UUID。 适用于需要确定性UUID的场景。 -
UUIDv6
UUID版本6。 重排序的格里高利时间UUID。 适用于需要时间排序的场景。 -
UUIDv7
UUID版本7。 基于Unix纪元时间戳的时间排序UUID。 适用于需要时间排序的场景。 -
UUIDv8
UUID版本8。 自定义UUID格式,支持供应商特定数据。 适用于需要自定义格式的场景。 -
WxSeq
微信序列号生成器。 适用于微信相关业务场景。 -
XID
全局唯一标识符。 包含4字节前缀用于多系统协调。 适用于多系统集成场景。
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-