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);
}
}
}
}
}