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 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.ObjectIdGenerator<java.lang.Object>
forScope(java.lang.Class<?> scope)
Factory method to create a blueprint instance for specified scope.java.lang.Object
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.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: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.
-
forScope
public ObjectIdGenerator<java.lang.Object> forScope(java.lang.Class<?> scope)
Description copied from class:ObjectIdGenerator
Factory method to create a blueprint instance for specified scope. Generators that do not use scope may return 'this'.- Specified by:
forScope
in classObjectIdGenerator<java.lang.Object>
-
newForSerialization
public ObjectIdGenerator<java.lang.Object> newForSerialization(java.lang.Object context)
Description copied from class:ObjectIdGenerator
Factory 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:
newForSerialization
in 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:ObjectIdGenerator
Method for constructing key to use for ObjectId-to-POJO maps.- Specified by:
key
in classObjectIdGenerator<java.lang.Object>
-
-