package eu.ehri.project.indexing.converter.impl; import com.google.common.collect.Lists; import eu.ehri.project.indexing.converter.Converter; import java.util.List; /** * Adapter to aggregate several converters. */ public class MultiConverter<S, E> implements Converter<S, E> { private final List<Converter<S, ? extends E>> converters; public MultiConverter(List<Converter<S, ? extends E>> converters) { this.converters = Lists.newArrayList(converters); } @Override public Iterable<E> convert(S t) throws ConverterException { List<E> temp = Lists.newArrayList(); for (Converter<S, ? extends E> converter : converters) { for (E out : converter.convert(t)) { temp.add(out); } } return temp; } }