xapi.collect.impl.StringToManyList Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-dev Show documentation
Show all versions of xapi-dev Show documentation
Everything needed to run a comprehensive dev environment.
Just type X_ and pick a service from autocomplete;
new dev modules will be added as they are built.
The only dev service not included in the uber jar is xapi-dev-maven,
as it includes all runtime dependencies of maven, adding ~4 seconds to build time,
and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).
The newest version!
package xapi.collect.impl;
import xapi.collect.X_Collect;
import xapi.collect.api.IntTo;
import xapi.collect.api.StringTo;
public class StringToManyList extends StringToAbstract> implements StringTo.Many{
private static final long serialVersionUID = 681636065098625160L;
private final Class componentClass;
public StringToManyList(final Class componentClass) {
this.componentClass = componentClass;
}
public StringToManyList(final Class componentClass, final java.util.Map> map) {
super(map);
this.componentClass = componentClass;
}
@Override
public StringToManyList add(final String key, final X value) {
get(key).add(value);
return this;
}
@Override
public final IntTo get(final String key) {
IntTo list = super.get(key);
if (list == null) {
list = newList();
put(key, list);
}
return list;
}
protected IntTo newList() {
return X_Collect.newList(componentClass);
}
}