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 usesUUIDs 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 booleancanUseFor(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.UUIDgenerateId(java.lang.Object forPojo)Method used for generating a new Object Identifier to serialize for given POJO.ObjectIdGenerator.IdKeykey(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:
forScopein 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:
newForSerializationin 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:ObjectIdGeneratorMethod 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:ObjectIdGeneratorMethod for constructing key to use for ObjectId-to-POJO maps.- Specified by:
keyin 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
-
-