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