2023-04-19 14:52:58 +02:00
|
|
|
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;
|
|
|
|
|
|
|
|
public abstract class StreamMapperNode<T, K> extends AbstractJobNode {
|
|
|
|
|
|
|
|
@WfInputParam
|
|
|
|
private Stream<T> inputStream;
|
|
|
|
|
|
|
|
@WfOutputParam
|
|
|
|
private Stream<K> outputStream;
|
|
|
|
|
|
|
|
public StreamMapperNode() {
|
|
|
|
super(false);
|
|
|
|
}
|
|
|
|
|
2023-04-20 11:53:35 +02:00
|
|
|
abstract protected Stream<K> mapStream(Stream<T> input);
|
2023-04-19 14:52:58 +02:00
|
|
|
|
|
|
|
@Override
|
2023-04-20 11:53:35 +02:00
|
|
|
protected void execute() {
|
|
|
|
outputStream = mapStream(inputStream);
|
2023-04-19 14:52:58 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|