Class StreamOpTransformExecutionPartitioner

java.lang.Object
org.aksw.shellgebra.algebra.stream.transform.StreamOpTransformExecutionPartitioner
All Implemented Interfaces:
StreamOpTransformGeneric<StreamOpEntry<StreamOpTransformExecutionPartitioner.Location>>

public class StreamOpTransformExecutionPartitioner extends Object implements StreamOpTransformGeneric<StreamOpEntry<StreamOpTransformExecutionPartitioner.Location>>
Partitions stream expressions based on the capabilities of a runtime. For example, let's assume a runtime can do rot13 encoding but not bzip2. An execution partition comprises two results:
  • A mapping of variables to operations that can be executed on the runtime.
  • A remainder expression that makes use of these variables.
Example:
Original expression:
opTranscode(bzip2, encode, opTranscode(rot13, encode, opFile(foo.txt)))

Remainder expression:
opTranscode(bzip2, encode, opVar(var1))

Variable mapping:
var1 -> opTranscode(rot13, encode, opFile(foo.txt)).