
com.lyncode.builder.ListBuilder Maven / Gradle / Ivy
package com.lyncode.builder;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class ListBuilder implements Builder> {
private List list;
public ListBuilder() {
list = new ArrayList();
}
public ListBuilder add(Collection list) {
this.list.addAll(list);
return this;
}
public ListBuilder add(T... list) {
for (T t : list)
this.list.add(t);
return this;
}
public List build() {
return list;
}
public List build(Transformer transformer) {
List transformed = new ArrayList();
for (T elem : this.list)
transformed.add(transformer.transform(elem));
return transformed;
}
public abstract static class Transformer {
public abstract E transform(T elem);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy