package eu.stratosphere.util.dag.converter; import java.util.List; /** * Converts a node from one type to a node from another type using a list of recursively converted child nodes.<br> * The NodeConverter may be annotated with {@link AppendChildren} to aggregate graphs to flat structures or {@link Leaf} * for faster processing. * * @author Arvid Heise * @param <InputType> * the type of the input node * @param <OutputType> * the type of the output node */ public interface NodeConverter<InputType, OutputType> { /** * Converts the given input node to an output nodes using the provided child nodes. * * @param inputNode * the input node * @param childNodes * a list of child nodes that have been recursively converted * @return the converted node or null if the inputNode should not be directly translated */ public OutputType convertNode(InputType inputNode, List<OutputType> childNodes); }