public static final class ObjectIdGenerators.StringIdGenerator extends ObjectIdGenerator<T>
ObjectIdGenerators.UUIDGenerator
for generation ids.
This generator is most useful for cases where another system creates
String Ids (of arbitrary structure, if any), and Jackson only needs to
keep track of id-to-Object mapping. Generation also works, although if
UUIDs are always used, ObjectIdGenerators.UUIDGenerator
is a better match as it
will also validate ids being used.
ObjectIdGenerator.IdKey
Constructor and Description |
---|
StringIdGenerator() |
Modifier and Type | Method and Description |
---|---|
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
ObjectIdGenerator.newForSerialization(java.lang.Object) ). |
ObjectIdGenerator<java.lang.String> |
forScope(java.lang.Class<?> scope)
Factory method to create a blueprint instance for specified
scope.
|
java.lang.String |
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.String> |
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).
|
isValidReferencePropertyName, maySerializeAsObject
public ObjectIdGenerator<java.lang.String> forScope(java.lang.Class<?> scope)
ObjectIdGenerator
forScope
in class ObjectIdGenerator<java.lang.String>
public ObjectIdGenerator<java.lang.String> newForSerialization(java.lang.Object context)
ObjectIdGenerator
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.
newForSerialization
in class ObjectIdGenerator<java.lang.String>
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 java.lang.String generateId(java.lang.Object forPojo)
ObjectIdGenerator
forPojo
- POJO for which identifier is neededpublic ObjectIdGenerator.IdKey key(java.lang.Object key)
ObjectIdGenerator
key
in class ObjectIdGenerator<java.lang.String>
public boolean canUseFor(ObjectIdGenerator<?> gen)
ObjectIdGenerator
ObjectIdGenerator.newForSerialization(java.lang.Object)
)."Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"