org.jerkar.tool.PluginOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Build simpler, stronger, faster
The newest version!
package org.jerkar.tool;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
class PluginOptions {
@SuppressWarnings("unchecked")
static PluginOptions of(String name) {
return new PluginOptions(name, Collections.EMPTY_MAP);
}
final String pluginName;
final Map options;
private PluginOptions(String pluginName, Map options) {
super();
this.pluginName = pluginName;
this.options = Collections.unmodifiableMap(options);
}
PluginOptions with(String key, String value) {
final Map map = new HashMap<>(options);
map.put(key, value);
return new PluginOptions(pluginName, map);
}
@Override
public String toString() {
return pluginName + " : " + options;
}
static Map options(String name, Iterable pluginOptionsList) {
for (PluginOptions pluginOptions : pluginOptionsList) {
if (pluginOptions.pluginName.equals(name)) {
return pluginOptions.options;
}
}
return Collections.emptyMap();
}
}