All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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