public final class KsuidFactory extends Object
This class is used by KsuidCreator.
You can use this class if you need to use a specific random generator
strategy. However, most people just need KsuidCreator.
Instances of this class can behave in one of three ways: non-monotonic (Segment's), monotonic and sub-second.
If the factory is monotonic, the random component is incremented by 1 If more than one KSUID is generated within the same second.
If the factory is sub-second, the time precision is detected at runtime.
The maximum KSUID that can be generated per second is 2^128.
| 构造器和说明 |
|---|
KsuidFactory()
Default constructor.
|
| 限定符和类型 | 方法和说明 |
|---|---|
Ksuid |
create()
Create a KSUID.
|
Ksuid |
create(java.time.Instant instant)
Create a KSUID with a given instant.
|
static KsuidFactory |
newInstance()
Returns a new Segment's KSUID factory.
|
static KsuidFactory |
newInstance(java.util.function.IntFunction<byte[]> randomFunction)
Returns a new Segment's KSUID factory.
|
static KsuidFactory |
newInstance(java.util.function.LongSupplier randomFunction)
Returns a new Segment's KSUID factory.
|
static KsuidFactory |
newInstance(Random random)
Returns a new Segment's KSUID factory.
|
static KsuidFactory |
newMonotonicInstance()
Returns a new Monotonic KSUID factory.
|
static KsuidFactory |
newMonotonicInstance(java.util.function.IntFunction<byte[]> randomFunction)
Returns a new Monotonic KSUID factory.
|
static KsuidFactory |
newMonotonicInstance(java.util.function.LongSupplier randomFunction)
Returns a new Monotonic KSUID factory.
|
static KsuidFactory |
newMonotonicInstance(Random random)
Returns a new Monotonic KSUID factory.
|
static KsuidFactory |
newSubsecondInstance()
Returns a new Sub-second KSUID factory.
|
static KsuidFactory |
newSubsecondInstance(java.util.function.IntFunction<byte[]> randomFunction)
Returns a new Sub-second KSUID factory.
|
static KsuidFactory |
newSubsecondInstance(java.util.function.LongSupplier randomFunction)
Returns a new Sub-second KSUID factory.
|
static KsuidFactory |
newSubsecondInstance(Random random)
Returns a new Sub-second KSUID factory.
|
public static KsuidFactory newInstance()
It is equivalent to new KsuidFactory().
KsuidFactorypublic static KsuidFactory newInstance(Random random)
random - a Random generatorKsuidFactorypublic static KsuidFactory newInstance(java.util.function.LongSupplier randomFunction)
randomFunction - a random function that returns a long valueKsuidFactorypublic static KsuidFactory newInstance(java.util.function.IntFunction<byte[]> randomFunction)
randomFunction - a random function that returns a byte arrayKsuidFactorypublic static KsuidFactory newSubsecondInstance()
KsuidFactorypublic static KsuidFactory newSubsecondInstance(Random random)
random - a Random generatorKsuidFactorypublic static KsuidFactory newSubsecondInstance(java.util.function.LongSupplier randomFunction)
randomFunction - a random function that returns a long valueKsuidFactorypublic static KsuidFactory newSubsecondInstance(java.util.function.IntFunction<byte[]> randomFunction)
randomFunction - a random function that returns a byte arrayKsuidFactorypublic static KsuidFactory newMonotonicInstance()
KsuidFactorypublic static KsuidFactory newMonotonicInstance(Random random)
random - a Random generatorKsuidFactorypublic static KsuidFactory newMonotonicInstance(java.util.function.LongSupplier randomFunction)
randomFunction - a random function that returns a long valueKsuidFactorypublic static KsuidFactory newMonotonicInstance(java.util.function.IntFunction<byte[]> randomFunction)
randomFunction - a random function that returns a byte arrayKsuidFactorypublic Ksuid create()
public Ksuid create(java.time.Instant instant)
instant - an instantCopyright © 2024. All rights reserved.