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

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