
dw.cli.commands.ItemListToStringCommand Maven / Gradle / Ivy
package dw.cli.commands;
import java.util.List;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import dw.cli.Command;
import dw.cli.Output;
import dw.xmlrpc.DokuJClient;
import dw.xmlrpc.exception.DokuException;
abstract public class ItemListToStringCommand extends Command {
@Override
protected Output run(DokuJClient dokuClient) throws DokuException {
List items = query(dokuClient);
return new Output(itemsToString(items));
}
abstract protected List query(DokuJClient dokuClient) throws DokuException;
private String itemsToString(List items) {
Function converter = new Function(){
@Override
public String apply(T item) { return itemToString(item); }
};
return Joiner.on("\n").join(Lists.transform(items, converter));
}
abstract protected String itemToString(T item);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy