Class PatternRegistry

java.lang.Object
wtf.choco.veinminer.pattern.PatternRegistry

public final class PatternRegistry extends Object
A registry to which VeinMiningPatterns may be registered.
  • Constructor Details

    • PatternRegistry

      public PatternRegistry()
  • Method Details

    • register

      public void register(@NotNull @NotNull VeinMiningPattern pattern)
      Register a new VeinMiningPattern.
      Parameters:
      pattern - the pattern to register
    • get

      @Nullable public @Nullable VeinMiningPattern get(@NotNull @NotNull NamespacedKey key)
      Get the pattern with the given NamespacedKey.
      Parameters:
      key - the pattern key
      Returns:
      the pattern
    • getOrDefault

      @NotNull public @NotNull VeinMiningPattern getOrDefault(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull VeinMiningPattern defaultPattern)
      Get the pattern with the given NamespacedKey, or return a default pattern if a pattern with the given key does not exist.
      Parameters:
      key - the pattern key
      defaultPattern - the default pattern to return if unavailable
      Returns:
      the pattern, or the default pattern if unavailable
    • get

      @Nullable public @Nullable VeinMiningPattern get(@NotNull @NotNull String key)
      Get the pattern with the given String-representation of a NamespacedKey.
      Parameters:
      key - the pattern key
      Returns:
      the pattern
    • getOrDefault

      @NotNull public @NotNull VeinMiningPattern getOrDefault(@NotNull @NotNull String key, @NotNull @NotNull VeinMiningPattern defaultPattern)
      Get the pattern with the given String-representation of a NamespacedKey, or return a default pattern if a pattern with the given key does not exist.
      Parameters:
      key - the pattern key
      defaultPattern - the default pattern to return if unavailable
      Returns:
      the pattern, or the default pattern if unavailable
    • unregister

      public boolean unregister(@NotNull @NotNull VeinMiningPattern pattern)
      Unregister the given VeinMiningPattern.
      Parameters:
      pattern - the pattern to unregister
      Returns:
      true if unregistered, false if the pattern was not previously registered
    • unregister

      @Nullable public @Nullable VeinMiningPattern unregister(@NotNull @NotNull NamespacedKey key)
      Unregister the pattern with the given NamespacedKey.
      Parameters:
      key - the key of the pattern to unregister
      Returns:
      the unregistered VeinMiningPattern, or null if none unregistered
    • getPatterns

      @NotNull public @NotNull Collection<VeinMiningPattern> getPatterns()
      Get an unmodifiable Collection of all VeinMiningPatterns in this registry.
      Returns:
      all registered patterns
    • unregisterAll

      public void unregisterAll()
      Unregister all patterns in this registry.