Package com.fasterxml.jackson.annotation
Class ObjectIdGenerators.UUIDGenerator
- java.lang.Object
-
- com.fasterxml.jackson.annotation.ObjectIdGenerator<T>
-
- com.fasterxml.jackson.annotation.ObjectIdGenerators.UUIDGenerator
-
- All Implemented Interfaces:
java.io.Serializable
- Enclosing class:
- ObjectIdGenerators
public static final class ObjectIdGenerators.UUIDGenerator extends ObjectIdGenerator<T>
Implementation that just usesUUID
s as reliably unique identifiers: downside is that resulting String is 36 characters long.One difference to other generators is that scope is always set as
Object.class
(regardless of arguments): this because UUIDs are globally unique, and scope has no meaning.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.annotation.ObjectIdGenerator
ObjectIdGenerator.IdKey
-
-
Constructor Summary
Constructors Constructor Description UUIDGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canUseFor(ObjectIdGenerator<?> gen)
Since UUIDs are always unique, let's fully ignore scope definitionObjectIdGenerator<java.util.UUID>
forScope(java.lang.Class<?> scope)
Can just return base instance since this is essentially scopelessjava.util.UUID
generateId(java.lang.Object forPojo)
Method used for generating a new Object Identifier to serialize for given POJO.ObjectIdGenerator.IdKey
key(java.lang.Object key)
Method for constructing key to use for ObjectId-to-POJO maps.ObjectIdGenerator<java.util.UUID>
newForSerialization(java.lang.Object context)
Can just return base instance since this is essentially scopeless-
Methods inherited from class com.fasterxml.jackson.annotation.ObjectIdGenerator
isValidReferencePropertyName, maySerializeAsObject
-
-
-
-
Method Detail
-
forScope
public ObjectIdGenerator<java.util.UUID> forScope(java.lang.Class<?> scope)
Can just return base instance since this is essentially scopeless- Specified by:
forScope
in classObjectIdGenerator<java.util.UUID>
-
newForSerialization
public ObjectIdGenerator<java.util.UUID> newForSerialization(java.lang.Object context)
Can just return base instance since this is essentially scopeless- Specified by:
newForSerialization
in classObjectIdGenerator<java.util.UUID>
- Parameters:
context
- Serialization context object used (of typecom.fasterxml.jackson.databind.SerializerProvider
; may be needed by more complex generators to access contextual information such as configuration.
-
generateId
public java.util.UUID generateId(java.lang.Object forPojo)
Description copied from class:ObjectIdGenerator
Method used for generating a new Object Identifier to serialize for given POJO.- Parameters:
forPojo
- POJO for which identifier is needed- Returns:
- Object Identifier to use.
-
key
public ObjectIdGenerator.IdKey key(java.lang.Object key)
Description copied from class:ObjectIdGenerator
Method for constructing key to use for ObjectId-to-POJO maps.- Specified by:
key
in classObjectIdGenerator<java.util.UUID>
-
canUseFor
public boolean canUseFor(ObjectIdGenerator<?> gen)
Since UUIDs are always unique, let's fully ignore scope definition- Returns:
- True if this instance can be used as-is; false if not
-
-