Class TimeOrderedCodec

  • All Implemented Interfaces:
    UuidCodec<UUID>

    public class TimeOrderedCodec
    extends Object
    implements UuidCodec<UUID>
    Codec for time-ordered UUIDs

    This codec converts time-based UUIDs (UUIDv1) to time-ordered UUIDs (UUIDv6).

    • Field Detail

      • INSTANCE

        public static final TimeOrderedCodec INSTANCE
        A shared immutable instance.
    • Constructor Detail

      • TimeOrderedCodec

        public TimeOrderedCodec()
    • Method Detail

      • encode

        public UUID encode​(UUID uuid)
        Get a time-ordered UUID from a time-based UUID.
        Specified by:
        encode in interface UuidCodec<UUID>
        Parameters:
        uuid - a time-based UUID
        Returns:
        a time-ordered UUID
        Throws:
        InvalidUuidException - if the argument is invalid
      • decode

        public UUID decode​(UUID uuid)
        Get a time-based UUID from a time-ordered UUID.
        Specified by:
        decode in interface UuidCodec<UUID>
        Parameters:
        uuid - a time-ordered UUID
        Returns:
        a time-based UUID
        Throws:
        InvalidUuidException - if the argument is invalid