InfoProviderBase class
Пакет: com.hypixel.hytale.server.npc.sensorinfo
Файл: com/hypixel/hytale/server/npc/sensorinfo/InfoProviderBase.java
implements: InfoProvider
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
ParameterProvider |
parameterProvider |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(ExtraInfoProvider var6 : var2) |
abstract |
|
this this(null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.sensorinfo;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.parameterproviders.ParameterProvider;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">abstract class InfoProviderBase class="kw">implements InfoProvider {
class="kw">protected class="kw">final ParameterProvider parameterProvider;
@Nullable
class="kw">protected class="kw">final Map<Class<? class="kw">extends ExtraInfoProvider>, ExtraInfoProvider> extraProviders;
class="kw">protected ExtraInfoProvider passedExtraInfo;
class="kw">public InfoProviderBase() {
this(null);
}
class="kw">public InfoProviderBase(ParameterProvider var1) {
this.parameterProvider = var1;
this.extraProviders = null;
}
class="kw">public InfoProviderBase(ParameterProvider var1, @Nonnull ExtraInfoProvider... var2) {
this.parameterProvider = var1;
this.extraProviders = new HashMap<>();
for (ExtraInfoProvider var6 : var2) {
if (this.extraProviders.put(var6.getType(), var6) != null) {
throw new IllegalArgumentException("More than one type of " + var6.getType().getSimpleName() + " provider registered!");
}
}
}
@Nullable
@Override
class="kw">public ParameterProvider getParameterProvider(int var1) {
class="kw">return this.parameterProvider == null ? null : this.parameterProvider.getParameterProvider(var1);
}
@Nullable
@Override
class="kw">public <E class="kw">extends ExtraInfoProvider> E getExtraInfo(Class<E> var1) {
class="kw">return (E)(this.extraProviders == null ? null : this.extraProviders.get(var1));
}
@Override
class="kw">public <E class="kw">extends ExtraInfoProvider> void passExtraInfo(E var1) {
this.passedExtraInfo = var1;
}
@Override
class="kw">public <E class="kw">extends ExtraInfoProvider> E getPassedExtraInfo(Class<E> var1) {
class="kw">return (E)this.passedExtraInfo;
}
}