ListArgumentType class

Пакет: com.hypixel.hytale.server.core.command.system.arguments.types

Файл: com/hypixel/hytale/server/core/command/system/arguments/types/ListArgumentType.java

extends: ArgumentType<List<DataType>>

Поля (2)

МодификаторыТипИмя
List var3
int var4

Методы (1)

МодификаторыВозвратСигнатура
while while(var4 < var1.length)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;

class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import com.hypixel.hytale.server.core.command.system.suggestion.SuggestionResult;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ListArgumentType<DataType> class="kw">extends ArgumentType<List<DataType>> {
   @Nonnull
   class="kw">private class="kw">final ArgumentType<DataType> argumentType;

   class="kw">public ListArgumentType(@Nonnull ArgumentType<DataType> var1) {
      super(
         Message.translation("server.commands.parsing.argtype.list.name").insert(" (").insert(var1.getName()).insert(")"),
         Message.translation("server.commands.parsing.argtype.list.usage"),
         var1.getNumberOfParameters(),
         var1.getExamples()
      );
      this.argumentType = var1;
      this.withSharedSuggestions(var1);
   }

   @Override
   class="kw">public boolean isListArgument() {
      class="kw">return true;
   }

   @Nullable
   class="kw">public List<DataType> parse(@Nonnull String[] var1, @Nonnull ParseResult var2) {
      List var3 = new ObjectArrayList();
      int var4 = 0;

      while (var4 < var1.length) {
         var3.add(this.argumentType.parse(Arrays.copyOfRange(var1, var4, var4 + this.argumentType.getNumberOfParameters()), var2));
         if (var2.failed()) {
            class="kw">return null;
         }

         var4 += this.argumentType.getNumberOfParameters();
      }

      class="kw">return var3;
   }

   @Override
   class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
      this.argumentType.suggest(var1, var2, var3, var4);
   }

   @Override
   class="kw">public int getSuggestionValueCount() {
      class="kw">return this.argumentType.getSuggestionValueCount();
   }
}