UndoActionRegistry class

Пакет: com.hypixel.hytale.builtin.buildertools

Файл: com/hypixel/hytale/builtin/buildertools/UndoActionRegistry.java

Поля (3)

МодификаторыТипИмя
final Map<String, UndoAction> REGISTRY
UndoActionRegistry.SimpleUndoAction var2
UndoActionRegistry.SimpleUndoAction var3

Методы (4)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("UndoAction already registered: " + var0)
abstract return registerreturn register(var0, var2)
abstract return registerreturn register(var0, var3)
public Message toMessagepublic Message toMessage()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools;

class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import java.util.Map;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class="kw">final class UndoActionRegistry {
   class="kw">private class="kw">static class="kw">final Map<String, UndoAction> REGISTRY = new ConcurrentHashMap<>();

   class="kw">private UndoActionRegistry() {
   }

   @Nonnull
   class="kw">public class="kw">static UndoAction register(@Nonnull String var0, @Nonnull UndoAction var1) {
      if (REGISTRY.putIfAbsent(var0, var1) != null) {
         throw new IllegalArgumentException("UndoAction already registered: " + var0);
      } else {
         class="kw">return var1;
      }
   }

   @Nonnull
   class="kw">public class="kw">static UndoAction register(@Nonnull String var0, @Nonnull String var1) {
      UndoActionRegistry.SimpleUndoAction var2 = new UndoActionRegistry.SimpleUndoAction(var0, var1, true);
      class="kw">return register(var0, var2);
   }

   @Nonnull
   class="kw">public class="kw">static UndoAction register(@Nonnull String var0, @Nonnull String var1, boolean var2) {
      UndoActionRegistry.SimpleUndoAction var3 = new UndoActionRegistry.SimpleUndoAction(var0, var1, var2);
      class="kw">return register(var0, var3);
   }

   @Nullable
   class="kw">public class="kw">static UndoAction get(@Nonnull String var0) {
      class="kw">return REGISTRY.get(var0);
   }

   class="kw">static {
      for (BuilderToolsPlugin.Action var3 : BuilderToolsPlugin.Action.values()) {
         REGISTRY.put(var3.id(), var3);
      }
   }

   class="kw">private record SimpleUndoAction(@Nonnull String id, @Nonnull String translationKey, boolean marksPrefabDirty) class="kw">implements UndoAction {
      class="kw">private SimpleUndoAction {
      }

      @Nonnull
      @Override
      class="kw">public Message toMessage() {
         class="kw">return Message.translation(this.translationKey);
      }
   }
}