Class ObjectIdGenerators.IntSequenceGenerator

java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.annotation.ObjectIdGenerator<T>
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.annotation.ObjectIdGenerators.IntSequenceGenerator
All Implemented Interfaces:
Serializable
Enclosing class:
ObjectIdGenerators

public static final class ObjectIdGenerators.IntSequenceGenerator extends ObjectIdGenerator<T>
Simple sequence-number based generator, which uses basic Java ints (starting with value 1) as Object Identifiers.
See Also:
  • Field Details

    • _nextValue

      protected transient int _nextValue
    • _scope

      protected final Class<?> _scope
  • Constructor Details

    • IntSequenceGenerator

      public IntSequenceGenerator()
    • IntSequenceGenerator

      public IntSequenceGenerator(Class<?> scope, int fv)
  • Method Details

    • initialValue

      protected int initialValue()
    • forScope

      public ObjectIdGenerator<Integer> forScope(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 class ObjectIdGenerator<Integer>
    • newForSerialization

      public ObjectIdGenerator<Integer> newForSerialization(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 class ObjectIdGenerator<Integer>
      Parameters:
      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.
    • key

      public ObjectIdGenerator.IdKey key(Object key)
      Description copied from class: ObjectIdGenerator
      Method for constructing key to use for ObjectId-to-POJO maps.
      Specified by:
      key in class ObjectIdGenerator<Integer>
    • generateId

      public Integer generateId(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.
    • getScope

      public final Class<?> getScope()
      Specified by:
      getScope in class ObjectIdGenerator<T>
    • canUseFor

      public boolean canUseFor(ObjectIdGenerator<?> gen)
      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 (using ObjectIdGenerator.newForSerialization(java.lang.Object)).
      Specified by:
      canUseFor in class ObjectIdGenerator<T>
      Returns:
      True if this instance can be used as-is; false if not