
de.placeblock.commandapi.core.parser.ParameterHolder Maven / Gradle / Ivy
package de.placeblock.commandapi.core.parser;
import de.placeblock.commandapi.core.tree.ParameterTreeCommand;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
public abstract class ParameterHolder {
@Getter
protected final Map, Object> parsedParameters;
public ParameterHolder() {
this(new HashMap<>());
}
public ParameterHolder(Map, Object> parsedParameters) {
this.parsedParameters = parsedParameters;
}
public Object getParsedParameter(String name) {
for (ParameterTreeCommand, ?> command : this.parsedParameters.keySet()) {
if (command.getName().equals(name)) {
return this.parsedParameters.get(command);
}
}
return null;
}
@SuppressWarnings("unused")
public T getParsedParameter(String name, Class type) {
//noinspection unchecked
return (T) this.getParsedParameter(name);
}
@SuppressWarnings("unused")
public T getParsedParameterOrDefault(String name, Class type, T defaultValue) {
T value = this.getParsedParameter(name, type);
return value != null ? value : defaultValue;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy