Class Registry<V extends Key>

java.lang.Object
dev.chojo.aether.common.registry.Registry<V>
Type Parameters:
V - The type of the key.
Direct Known Subclasses:
MailSourceRegistry

public class Registry<V extends Key> extends Object
A registry for Key implementations. This allows for easy lookup and management of extensible keys like platforms or subscription types.
  • Constructor Details

    • Registry

      public Registry(Class<V> clazz)
  • Method Details

    • register

      public Registry<V> register(V entry)
      Registers a new entry in the registry.
      Parameters:
      entry - The source to register.
      Returns:
      The registry for chaining.
      Throws:
      IllegalArgumentException - If the source is already registered.
    • entries

      public Set<V> entries()
      Returns all registered sources.
      Returns:
      An unmodifiable set of all sources.
    • unregister

      public void unregister(V entry)
      Unregisters an entry from the registry.
      Parameters:
      entry - The entry to unregister.
    • byName

      public Optional<V> byName(String name)
      Finds a source by its name.
      Parameters:
      name - The name of the source (case-insensitive).
      Returns:
      An optional containing the source if found.