Class DefaultIdGeneratorProvider

java.lang.Object
me.ahoo.cosid.provider.DefaultIdGeneratorProvider
All Implemented Interfaces:
IdGeneratorProvider

@ThreadSafe public class DefaultIdGeneratorProvider extends Object implements IdGeneratorProvider
Default IdGeneratorProvider implementation.
  • Field Details

  • Constructor Details

    • DefaultIdGeneratorProvider

      public DefaultIdGeneratorProvider()
  • Method Details

    • getShare

      public IdGenerator getShare()
      Description copied from interface: IdGeneratorProvider
      Get the shared (default) ID generator.

      This method returns the shared ID generator that can be used as a default when no specific named generator is required.

      Specified by:
      getShare in interface IdGeneratorProvider
      Returns:
      The shared ID generator
    • setShare

      public void setShare(IdGenerator idGenerator)
      Description copied from interface: IdGeneratorProvider
      Set the shared (default) ID generator.

      This method updates the shared ID generator that will be returned by IdGeneratorProvider.getShare().

      Specified by:
      setShare in interface IdGeneratorProvider
      Parameters:
      idGenerator - The ID generator to set as shared
    • removeShare

      public IdGenerator removeShare()
      Description copied from interface: IdGeneratorProvider
      Remove the shared (default) ID generator.

      This method removes the current shared ID generator and returns it, leaving no shared generator configured.

      Specified by:
      removeShare in interface IdGeneratorProvider
      Returns:
      The previous shared ID generator, or null if none was set
    • get

      public Optional<IdGenerator> get(String name)
      Description copied from interface: IdGeneratorProvider
      Get an ID generator by its name.

      This method returns an optional containing the ID generator with the specified name, or an empty optional if no generator with that name exists.

      Specified by:
      get in interface IdGeneratorProvider
      Parameters:
      name - The name of the ID generator to retrieve
      Returns:
      An optional containing the ID generator, or empty if not found
    • remove

      public IdGenerator remove(String name)
      Description copied from interface: IdGeneratorProvider
      Remove an ID generator by its name.

      This method removes the ID generator with the specified name and returns the removed generator, or null if no generator with that name existed.

      Specified by:
      remove in interface IdGeneratorProvider
      Parameters:
      name - The name of the ID generator to remove
      Returns:
      The removed ID generator, or null if not found
    • set

      public void set(String name, IdGenerator idGenerator)
      Description copied from interface: IdGeneratorProvider
      Set an ID generator with the specified name.

      This method registers an ID generator with the specified name, replacing any existing generator with the same name.

      Specified by:
      set in interface IdGeneratorProvider
      Parameters:
      name - The name to register the generator under
      idGenerator - The ID generator to register
    • clear

      public void clear()
      Description copied from interface: IdGeneratorProvider
      Clear all registered ID generators.

      This method removes all registered ID generators, including the shared generator, leaving the provider empty.

      Specified by:
      clear in interface IdGeneratorProvider
    • entries

      public Set<Map.Entry<String,IdGenerator>> entries()
      Description copied from interface: IdGeneratorProvider
      Get all registered ID generator entries.

      This method returns a set of map entries representing all registered ID generators, including their names and instances.

      Specified by:
      entries in interface IdGeneratorProvider
      Returns:
      A set of entries for all registered ID generators
    • getAll

      public Collection<IdGenerator> getAll()
      Description copied from interface: IdGeneratorProvider
      Get all registered ID generators.

      This method returns a collection of all registered ID generator instances, without their associated names.

      Specified by:
      getAll in interface IdGeneratorProvider
      Returns:
      A collection of all registered ID generators