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
 
 
 - 
 
 -