Class PropertyBasedObjectIdGenerator
- java.lang.Object
 - 
- com.fasterxml.jackson.annotation.ObjectIdGenerator<T>
 - 
- com.fasterxml.jackson.annotation.ObjectIdGenerators.PropertyGenerator
 - 
- com.fasterxml.jackson.databind.ser.impl.PropertyBasedObjectIdGenerator
 
 
 
 
- 
- All Implemented Interfaces:
 java.io.Serializable
public class PropertyBasedObjectIdGenerator extends ObjectIdGenerators.PropertyGenerator
- 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 PropertyBasedObjectIdGenerator(ObjectIdInfo oid, BeanPropertyWriter prop) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanUseFor(ObjectIdGenerator<?> gen)We must override this method, to prevent errors when scopes are the same, but underlying class (on which to access property) is different.ObjectIdGenerator<java.lang.Object>forScope(java.lang.Class<?> scope)Factory method to create a blueprint instance for specified scope.java.lang.ObjectgenerateId(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.lang.Object>newForSerialization(java.lang.Object context)Factory method called to create a new instance to use for serialization: needed since generators may have state (next id to produce).- 
Methods inherited from class com.fasterxml.jackson.annotation.ObjectIdGenerator
isValidReferencePropertyName, maySerializeAsObject 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
PropertyBasedObjectIdGenerator
public PropertyBasedObjectIdGenerator(ObjectIdInfo oid, BeanPropertyWriter prop)
 
 - 
 
- 
Method Detail
- 
canUseFor
public boolean canUseFor(ObjectIdGenerator<?> gen)
We must override this method, to prevent errors when scopes are the same, but underlying class (on which to access property) is different.- Returns:
 - True if this instance can be used as-is; false if not
 
 
- 
generateId
public java.lang.Object 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.
 
 
- 
forScope
public ObjectIdGenerator<java.lang.Object> forScope(java.lang.Class<?> scope)
Description copied from class:ObjectIdGeneratorFactory method to create a blueprint instance for specified scope. Generators that do not use scope may return 'this'.- Specified by:
 forScopein classObjectIdGenerator<java.lang.Object>
 
- 
newForSerialization
public ObjectIdGenerator<java.lang.Object> newForSerialization(java.lang.Object context)
Description copied from class:ObjectIdGeneratorFactory method called to create a new instance to use for serialization: needed since generators may have state (next id to produce).Note that actual type of 'context' is
com.fasterxml.jackson.databind.SerializerProvider, but can not be declared here as type itself (as well as call to this object) comes from databind package.- Specified by:
 newForSerializationin classObjectIdGenerator<java.lang.Object>- 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.
 
- 
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.lang.Object>
 
 - 
 
 -