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

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