Class PushIDGenerator
java.lang.Object
icu.congee.id.generator.pushid.PushIDGenerator
- All Implemented Interfaces:
IdGenerator
Firebase Push ID生成器的Java实现
Push ID是一个20字符长的字符串,由以下部分组成: - 前8个字符:基于时间戳(毫秒级)的编码 - 后12个字符:随机生成的字符
特点: 1. 按时间排序:由于使用时间戳作为前缀,Push ID天然具有时间顺序 2. 唯一性:使用随机字符和时间戳组合确保唯一性 3. URL安全:使用URL安全的字符集(-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz)
- Author:
- congee
-
Constructor Details
-
PushIDGenerator
public PushIDGenerator()
-
-
Method Details
-
generatePushID
生成一个新的Push ID- Returns:
- 20字符长的唯一Push ID
- Throws:
RuntimeException- 如果时间戳转换失败或生成的ID长度不正确
-
main
-
generate
Description copied from interface:IdGenerator生成一个唯一标识符。 每个实现类都应该根据其特定的生成策略来实现此方法。- Specified by:
generatein interfaceIdGenerator- Returns:
- 生成的唯一标识符,具体类型由实现类决定
-
idType
Description copied from interface:IdGenerator获取当前生成器的标识符类型此方法用于标识生成器使用的具体ID生成策略。每个实现类都应该 返回一个对应其生成策略的IdType枚举值。
- Specified by:
idTypein interfaceIdGenerator- Returns:
- 当前生成器的标识符类型
-