-
static final class
Simple sequence-number based generator, which uses basic Java
int
s (starting with value 1) as Object Identifiers.
static class
Abstract marker class used to allow explicitly specifying
that no generator is used; which also implies that no
Object Id is to be included or used.
static class
Abstract place-holder class which is used to denote case
where Object Identifier to use comes from a POJO property
(getter method or field).
static final class
Implementation that will accept arbitrary (but unique) String Ids on
deserialization, and (by default) use random UUID generation similar
to
ObjectIdGenerators.UUIDGenerator
for generation ids.
static final class
Implementation that just uses
UUID
s as reliably
unique identifiers: downside is that resulting String is
36 characters long.
Factory method to create a blueprint instance for specified
scope.
Can just return base instance since this is essentially scopeless
Factory method called to create a new instance to use for
serialization: needed since generators may have state
(next id to produce).
Can just return base instance since this is essentially scopeless
abstract boolean
Method called to check whether this generator instance can
be used for Object Ids of specific generator type and
scope; determination is based by passing a configured
"blueprint" (prototype) instance; from which the actual
instances are created (using
newForSerialization(java.lang.Object)
).
boolean
boolean
Since UUIDs are always unique, let's fully ignore scope definition