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)).