Package com.fasterxml.jackson.annotation
Class ObjectIdGenerators.IntSequenceGenerator
java.lang.Object
com.fasterxml.jackson.annotation.ObjectIdGenerator<T>
com.fasterxml.jackson.annotation.ObjectIdGenerators.IntSequenceGenerator
- All Implemented Interfaces:
Serializable
- Enclosing class:
- ObjectIdGenerators
Simple sequence-number based generator, which uses basic Java
int
s (starting with value 1) as Object Identifiers.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.annotation.ObjectIdGenerator
ObjectIdGenerator.IdKey
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
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 (usingObjectIdGenerator.newForSerialization(java.lang.Object)
).Factory method to create a blueprint instance for specified scope.generateId
(Object forPojo) Method used for generating a new Object Identifier to serialize for given POJO.final Class<?>
getScope()
protected int
Method for constructing key to use for ObjectId-to-POJO maps.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).Methods inherited from class com.fasterxml.jackson.annotation.ObjectIdGenerator
isValidReferencePropertyName, maySerializeAsObject
-
Field Details
-
_nextValue
protected transient int _nextValue -
_scope
-
-
Constructor Details
-
IntSequenceGenerator
public IntSequenceGenerator() -
IntSequenceGenerator
-
-
Method Details
-
initialValue
protected int initialValue() -
forScope
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<Integer>
-
newForSerialization
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<Integer>
- 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
Description copied from class:ObjectIdGenerator
Method for constructing key to use for ObjectId-to-POJO maps.- Specified by:
key
in classObjectIdGenerator<Integer>
-
generateId
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.
-
getScope
- Specified by:
getScope
in classObjectIdGenerator<T>
-
canUseFor
Description copied from class:ObjectIdGenerator
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 (usingObjectIdGenerator.newForSerialization(java.lang.Object)
).- Specified by:
canUseFor
in classObjectIdGenerator<T>
- Returns:
- True if this instance can be used as-is; false if not
-