T
- Type of Object Identifiers produced.public abstract class ObjectIdGenerator<T> extends Object implements Serializable
JsonIdentityInfo
).
Also defines factory methods used for creating instances
for serialization, deserialization.Modifier and Type | Class and Description |
---|---|
static class |
ObjectIdGenerator.IdKey
Simple key class that can be used as a key for
ObjectId-to-POJO mappings, when multiple ObjectId types
and scopes are used.
|
Constructor and Description |
---|
ObjectIdGenerator() |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
canUseFor(ObjectIdGenerator<?> gen)
Method called to check whether this generator instance can
be used for Object Ids of specific generator type and
scope; determination is based by passing a configured
"blueprint" (prototype) instance; from which the actual
instances are created (using
newForSerialization(java.lang.Object) ). |
abstract ObjectIdGenerator<T> |
forScope(Class<?> scope)
Factory method to create a blueprint instance for specified
scope.
|
abstract T |
generateId(Object forPojo)
Method used for generating a new Object Identifier to serialize
for given POJO.
|
abstract Class<?> |
getScope() |
abstract ObjectIdGenerator.IdKey |
key(Object key)
Method for constructing key to use for ObjectId-to-POJO maps.
|
abstract ObjectIdGenerator<T> |
newForSerialization(Object context)
Factory method called to create a new instance to use for
serialization: needed since generators may have state
(next id to produce).
|
public abstract Class<?> getScope()
public abstract boolean canUseFor(ObjectIdGenerator<?> gen)
newForSerialization(java.lang.Object)
).public abstract ObjectIdGenerator<T> forScope(Class<?> scope)
public abstract ObjectIdGenerator<T> newForSerialization(Object context)
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.
context
- Serialization context object used (of type
com.fasterxml.jackson.databind.SerializerProvider
;
may be needed by more complex generators to access contextual
information such as configuration.public abstract ObjectIdGenerator.IdKey key(Object key)
Copyright © 2012-2015 FasterXML. All Rights Reserved.