30 lines
695 B
Java
30 lines
695 B
Java
|
package eu.dnetlib.manager.wf.nodes.stream;
|
||
|
|
||
|
import java.util.stream.Stream;
|
||
|
|
||
|
import eu.dnetlib.manager.wf.annotations.WfInputParam;
|
||
|
import eu.dnetlib.manager.wf.annotations.WfOutputParam;
|
||
|
import eu.dnetlib.manager.wf.nodes.AbstractJobNode;
|
||
|
import eu.dnetlib.manager.wf.workflows.procs.Token;
|
||
|
|
||
|
public abstract class StreamMapperNode<T, K> extends AbstractJobNode {
|
||
|
|
||
|
@WfInputParam
|
||
|
private Stream<T> inputStream;
|
||
|
|
||
|
@WfOutputParam
|
||
|
private Stream<K> outputStream;
|
||
|
|
||
|
public StreamMapperNode() {
|
||
|
super(false);
|
||
|
}
|
||
|
|
||
|
abstract protected Stream<K> mapStream(Stream<T> input, Token token);
|
||
|
|
||
|
@Override
|
||
|
protected void execute(final Token token) {
|
||
|
outputStream = mapStream(inputStream, token);
|
||
|
}
|
||
|
|
||
|
}
|