com.fasterxml.jackson.annotation

Class ObjectIdGenerators.UUIDGenerator

  • All Implemented Interfaces:
    Serializable
    Enclosing class:
    ObjectIdGenerators


    public static final class ObjectIdGenerators.UUIDGenerator
    extends ObjectIdGenerator<T>
    Implementation that just uses UUIDs as reliably unique identifiers: downside is that resulting String is 36 characters long.

    One difference to other generators is that scope is always set as Object.class (regardless of arguments): this because UUIDs are globally unique, and scope has no meaning.

    See Also:
    Serialized Form
    • Constructor Detail

      • UUIDGenerator

        public UUIDGenerator()
    • Method Detail

      • newForSerialization

        public ObjectIdGenerator<UUID> newForSerialization(Object context)
        Can just return base instance since this is essentially scopeless
        Specified by:
        newForSerialization in class ObjectIdGenerator<UUID>
        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.
      • generateId

        public UUID 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.
      • canUseFor

        public boolean canUseFor(ObjectIdGenerator<?> gen)
        Since UUIDs are always unique, let's fully ignore scope definition
        Returns:
        True if this instance can be used as-is; false if not

Copyright © 2008–2024 FasterXML. All rights reserved.