BuilderObjectMapHelper class

Пакет: com.hypixel.hytale.server.npc.asset.builder

Файл: com/hypixel/hytale/server/npc/asset/builder/BuilderObjectMapHelper.java

extends: BuilderObjectArrayHelper<Map<K, V>, V>

Поля (7)

МодификаторыТипИмя
private Function<V, K> id
Builder var10
Object var11
Object var13
Map var2
Object var7
Object var8

Методы (7)

МодификаторыВозвратСигнатура
for for(BuilderObjectReferenceHelper var6 : this.builders)
for for(BuilderObjectReferenceHelper var12 : this.builders)
for for(BuilderObjectReferenceHelper var10 : this.builders)
for for(BuilderObjectReferenceHelper var9 : this.builders)
public <A> void forEach<A> void forEach(@Nonnull BiConsumer<Builder<V>, A> var1, @Nonnull A var2, @Nonnull BuilderManager var3, @Nonnull ExecutionContext var4, @Nonnull Builder<?> var5)
if if(var11 != null)
abstract super super(var1, var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder;

class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Objects;
class="kw">import java.util.function.BiConsumer;
class="kw">import java.util.function.BiFunction;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BuilderObjectMapHelper<K, V> class="kw">extends BuilderObjectArrayHelper<Map<K, V>, V> {
   class="kw">private Function<V, K> id;

   class="kw">public BuilderObjectMapHelper(Class var1, Function<V, K> var2, BuilderContext var3) {
      super(var1, var3);
      this.id = var2;
   }

   @Nullable
   class="kw">public Map<K, V> build(@Nonnull BuilderSupport var1) {
      if (this.hasNoElements()) {
         class="kw">return null;
      }

      Map var2 = new Object2ObjectLinkedOpenHashMap();

      for (BuilderObjectReferenceHelper var6 : this.builders) {
         if (!var6.excludeFromRegularBuild()) {
            Object var7 = var6.build(var1);
            Object var8 = this.id.apply(var7);
            if (var2.containsKey(var8)) {
               throw new IllegalArgumentException("Duplicate key \"" + var8 + "\" at " + this.getBreadCrumbs() + ": " + this.builderParameters.getFileName());
            }

            var2.put(var8, var7);
         }
      }

      class="kw">return var2;
   }

   @Nullable
   class="kw">public <T, U> T anyMatch(
      @Nonnull BiFunction<Builder<V>, U, T> var1, @Nonnull BuilderManager var2, ExecutionContext var3, U var4, T var5, T var6, T var7, Builder<?> var8
   ) {
      if (this.hasNoElements()) {
         class="kw">return var6;
      }

      assert this.builders != null;

      for (BuilderObjectReferenceHelper var12 : this.builders) {
         Object var13 = var1.apply(var12.getBuilder(var2, var3, var8), var4);
         if (Objects.equals(var13, var5)) {
            class="kw">return var13;
         }
      }

      class="kw">return var7;
   }

   @Nullable
   class="kw">public <T, U> T findFirst(
      @Nonnull BiFunction<Builder<V>, U, T> var1, @Nonnull BuilderManager var2, ExecutionContext var3, U var4, @Nullable T var5, Builder<?> var6
   ) {
      if (this.hasNoElements()) {
         class="kw">return var5;
      }

      assert this.builders != null;

      for (BuilderObjectReferenceHelper var10 : this.builders) {
         if (!var10.excludeFromRegularBuild()) {
            Object var11 = var1.apply(var10.getBuilder(var2, var3, var6), var4);
            if (var11 != null) {
               class="kw">return var11;
            }
         }
      }

      class="kw">return var5;
   }

   class="kw">public <A> void forEach(
      @Nonnull BiConsumer<Builder<V>, A> var1, @Nonnull A var2, @Nonnull BuilderManager var3, @Nonnull ExecutionContext var4, @Nonnull Builder<?> var5
   ) {
      if (!this.hasNoElements()) {
         assert this.builders != null;

         for (BuilderObjectReferenceHelper var9 : this.builders) {
            if (!var9.excludeFromRegularBuild()) {
               Builder var10 = var9.getBuilder(var3, var4, var5);
               var1.accept(var10, var2);
            }
         }
      }
   }
}