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 edu.internet2.middleware.grouperClientExt.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 edu.internet2.middleware.grouperClientExt.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