classpublicabstractPriority 3
InfoProviderBase
com.hypixel.hytale.server.npc.sensorinfo.InfoProviderBase
implements InfoProvider
4
Methods
4
Public Methods
2
Fields
3
Constructors
Constructors
public
InfoProviderBase()public
InfoProviderBase(ParameterProvider parameterProvider)public
InfoProviderBase(ParameterProvider parameterProvider, ExtraInfoProvider[] providers)Methods
Public Methods (4)
public
<E extends ExtraInfoProvider> E getExtraInfo(Class<E> clazz)@Nullable@Override
public
ParameterProvider getParameterProvider(int parameter)@Nullable@Override
public
<E extends ExtraInfoProvider> E getPassedExtraInfo(Class<E> clazz)@Override
public
<E extends ExtraInfoProvider> void passExtraInfo(E provider)@Override
Fields
Protected Fields (2)
protected
ParameterProvider parameterProviderprotected
ExtraInfoProvider passedExtraInfoInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Used By
Source Code
package com.hypixel.hytale.server.npc.sensorinfo;
import com.hypixel.hytale.server.npc.sensorinfo.parameterproviders.ParameterProvider;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public abstract class InfoProviderBase implements InfoProvider {
protected final ParameterProvider parameterProvider;
@Nullable
protected final Map<Class<? extends ExtraInfoProvider>, ExtraInfoProvider> extraProviders;
protected ExtraInfoProvider passedExtraInfo;
public InfoProviderBase() {
this(null);
}
public InfoProviderBase(ParameterProvider parameterProvider) {
this.parameterProvider = parameterProvider;
this.extraProviders = null;
}
public InfoProviderBase(ParameterProvider parameterProvider, @Nonnull ExtraInfoProvider... providers) {
this.parameterProvider = parameterProvider;
this.extraProviders = new HashMap<>();
for (ExtraInfoProvider provider : providers) {
if (this.extraProviders.put(provider.getType(), provider) != null) {
throw new IllegalArgumentException("More than one type of " + provider.getType().getSimpleName() + " provider registered!");
}
}
}
@Nullable
@Override
public ParameterProvider getParameterProvider(int parameter) {
return this.parameterProvider == null ? null : this.parameterProvider.getParameterProvider(parameter);
}
@Nullable
@Override
public <E extends ExtraInfoProvider> E getExtraInfo(Class<E> clazz) {
return (E)(this.extraProviders == null ? null : this.extraProviders.get(clazz));
}
@Override
public <E extends ExtraInfoProvider> void passExtraInfo(E provider) {
this.passedExtraInfo = provider;
}
@Override
public <E extends ExtraInfoProvider> E getPassedExtraInfo(Class<E> clazz) {
return (E)this.passedExtraInfo;
}
}