Interface IdFactory

  • Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface IdFactory
    A factory for creating a new, unique Id for an object.
    Author:
    Fabrizio Giudici
    Status: stable API
    • Field Detail

      • _IdFactory_

        static final java.lang.Class<IdFactory> _IdFactory_
      • DEFAULT

        static final IdFactory DEFAULT
        A default implementation that uses UUID.
        Since:
        3.2-ALPHA-19
    • Method Detail

      • createMock

        @Nonnull
        static IdFactory createMock()
        Creates a new mock factory, useful for testing, that returns mock UUIDs based on a sequential counter.
        Returns:
        the new factory
        Since:
        3.2-ALPHA-23
      • createId

        @Nonnull
        Id createId()
        Creates a new id.
        Returns:
        the new id
      • createId

        @Nonnull
        default Id createId​(@Nonnull
                            java.lang.Class<?> objectClass)
        Creates a new id for an object of the given class.
        Parameters:
        objectClass - the class of the object for which the Id is created
        Returns:
        the new id
      • createId

        @Nonnull
        default Id createId​(@Nonnull
                            java.lang.Class<?> objectClass,
                            @Nonnull
                            java.lang.Object object)
        Creates a new id for the given object of the given class. This method allows to explicitly pass a Class for cases in which the object implements multiple interfaces and one wants to specify the referenced one.
        Parameters:
        object - the object for which the Id
        objectClass - the class of the object for which the Id is created
        Returns:
        the new id