class ContainerStart extends Node
A node that contains other nodes.
Conceptually, some nodes contain others. A loop, for example, contains the steps that form the body of the loop.
In practice, containers are represented by a start and an end.
- Alphabetic
- By Inheritance
- ContainerStart
- Node
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ContainerStart(graph: Graph, end: ContainerEnd, userLabel: Option[String])
A container in the pipeline graph.
A container in the pipeline graph.
- graph
The graph into which this node is to be inserted.
- end
The end of this container.
- userLabel
An optional user-defined label.
- Attributes
- protected[com.jafpl]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val _staticBindings: HashMap[Binding, Message]
-
def
addAtomic(step: Step, label: Option[String]): Node
Add a new atomic step to this container.
Add a new atomic step to this container.
- step
The step implementation.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addAtomic(step: Step, label: String): Node
Add a new atomic step to this container.
Add a new atomic step to this container.
- step
The step implementation.
- label
A user-defined label.
- returns
The node added.
-
def
addAtomic(step: Step): Node
Add a new atomic step to this container.
Add a new atomic step to this container.
- step
The step implementation.
- returns
The node added.
-
def
addChild(node: Node): Unit
- Attributes
- protected[com.jafpl.graph]
-
def
addChoose(label: Option[String]): ChooseStart
Add a new choose/when container to this container.
Add a new choose/when container to this container.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addChoose(label: String): ChooseStart
Add a new choose/when container to this container.
Add a new choose/when container to this container.
- label
A user-defined label.
- returns
The node added.
-
def
addChoose(): ChooseStart
Add a new choose/when container to this container.
Add a new choose/when container to this container.
- returns
The node added.
-
def
addEmptySource(): EmptySource
- Attributes
- protected[com.jafpl.graph]
-
def
addFor(label: Option[String], countFrom: Long, countTo: Long, countBy: Long, manifold: ManifoldSpecification): LoopForStart
Add a new for-loop container to this container.
Add a new for-loop container to this container.
- label
An optional, user-defined label.
- returns
The node added.
- def addFor(label: String, countFrom: Long, countTo: Long, countBy: Long, manifold: ManifoldSpecification): LoopForStart
- def addFor(countFrom: Long, countTo: Long, countBy: Long, manifold: ManifoldSpecification): LoopForStart
- def addFor(label: String, countFrom: Long, countTo: Long, manifold: ManifoldSpecification): LoopForStart
- def addFor(countFrom: Long, countTo: Long, manifold: ManifoldSpecification): LoopForStart
-
def
addFor(label: String, countTo: Long, manifold: ManifoldSpecification): LoopForStart
Add a new for-loop container to this container.
Add a new for-loop container to this container.
- label
A user-defined label.
- returns
The node added.
-
def
addFor(countTo: Long, manifold: ManifoldSpecification): LoopForStart
Add a new for-loop container to this container.
Add a new for-loop container to this container.
- returns
The node added.
-
def
addForEach(label: Option[String], manifold: ManifoldSpecification): LoopEachStart
Add a new for-each container to this container.
Add a new for-each container to this container.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addForEach(label: String, manifold: ManifoldSpecification): LoopEachStart
Add a new for-each container to this container.
Add a new for-each container to this container.
- label
A user-defined label.
- returns
The node added.
-
def
addForEach(manifold: ManifoldSpecification): LoopEachStart
Add a new for-each container to this container.
Add a new for-each container to this container.
- returns
The node added.
-
def
addGroup(label: Option[String], manifold: ManifoldSpecification): ContainerStart
Add a new group container to this container.
Add a new group container to this container.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addGroup(label: String, manifold: ManifoldSpecification): ContainerStart
Add a new group container to this container.
Add a new group container to this container.
- label
A user-defined label.
- returns
The node added.
-
def
addGroup(manifold: ManifoldSpecification): ContainerStart
Add a new group container to this container.
Add a new group container to this container.
- returns
The node added.
-
def
addInputInjectable(injectable: PortInjectable): Unit
- Definition Classes
- Node
-
def
addJoiner(mode: JoinMode): Joiner
- Attributes
- protected[com.jafpl.graph]
-
def
addOption(name: String, expression: Any, params: BindingParams): OptionBinding
FIXME: WRITE THIS
FIXME: WRITE THIS
- name
The option name
- expression
The default initializer for the option
- returns
The binding
-
def
addOption(name: String, expression: Any): Binding
Add a option to this container.
Add a option to this container.
This method inserts an option binding into the container. This binding is effectively the source of a options's value. Other steps may connect to this binding in order to read its computed value at runtime.
Option bindings consist of a name and an expression. The name and expression are arbitrary. At runtime the com.jafpl.runtime.ExpressionEvaluator provided as part of the com.jafpl.runtime.GraphRuntime must understand how to evaluate the expression.
Unlike a variable, an option value can be supplied at runtime which will be used *instead* of evaluating the expression.
At runtime, the computed values are provided to steps through binding edges.
- returns
The node added.
-
def
addOutputInjectable(injectable: PortInjectable): Unit
- Definition Classes
- Node
-
def
addSink(): Sink
- Attributes
- protected[com.jafpl.graph]
-
def
addSplitter(): Splitter
- Attributes
- protected[com.jafpl.graph]
-
def
addStepInjectable(injectable: StepInjectable): Unit
- Definition Classes
- Node
-
def
addTryCatch(label: Option[String]): TryCatchStart
Add a new try/catch container to this container.
Add a new try/catch container to this container.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addTryCatch(label: String): TryCatchStart
Add a new try/catch container to this container.
Add a new try/catch container to this container.
- label
A user-defined label.
- returns
The node added.
-
def
addTryCatch(): TryCatchStart
Add a new try/catch container to this container.
Add a new try/catch container to this container.
- returns
The node added.
-
def
addUntil(comparator: ItemComparator, returnAll: Boolean, label: Option[String], manifold: ManifoldSpecification): LoopUntilStart
Add a new until container to this container.
Add a new until container to this container.
- comparator
The comparator.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addUntil(comparator: ItemComparator, returnAll: Boolean, label: String, manifold: ManifoldSpecification): LoopUntilStart
Add a new until container to this container.
Add a new until container to this container.
- comparator
The comparator.
- label
A user-defined label.
- returns
The node added.
-
def
addUntil(comparator: ItemComparator, returnAll: Boolean, manifold: ManifoldSpecification): LoopUntilStart
Add a new until container to this container.
Add a new until container to this container.
- comparator
The comparator.
- returns
The node added.
-
def
addVariable(name: String, expression: Any): Binding
Add a variable to this container.
Add a variable to this container.
This method inserts a variable binding into the container. This binding is effectively the source of a variable's value. Other steps may connect to this binding in order to read its computed value at runtime.
Variable bindings consist of a name and an expression. The name and expression are arbitrary. At runtime the com.jafpl.runtime.ExpressionEvaluator provided as part of the com.jafpl.runtime.GraphRuntime must understand how to evaluate the expression.
At runtime, the computed values are provided to steps through binding edges.
- returns
The node added.
-
def
addViewport(composer: ViewportComposer, label: Option[String]): ViewportStart
Add a new viewport container to this container.
Add a new viewport container to this container.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addViewport(composer: ViewportComposer, label: String): ViewportStart
Add a new viewport container to this container.
Add a new viewport container to this container.
- label
A user-defined label.
- returns
The node added.
-
def
addViewport(composer: ViewportComposer): ViewportStart
Add a new viewport container to this container.
Add a new viewport container to this container.
- returns
The node added.
-
def
addWhile(tester: ItemTester, returnAll: Boolean, label: Option[String], manifold: ManifoldSpecification): LoopWhileStart
Add a new while container to this container.
Add a new while container to this container.
- tester
The test evaluator.
- label
An optional, user-defined label.
- returns
The node added.
-
def
addWhile(tester: ItemTester, returnAll: Boolean, label: String, manifold: ManifoldSpecification): LoopWhileStart
Add a new while container to this container.
Add a new while container to this container.
- tester
The test evaluator.
- label
A user-defined label.
- returns
The node added.
-
def
addWhile(tester: ItemTester, returnAll: Boolean, manifold: ManifoldSpecification): LoopWhileStart
Add a new while container to this container.
Add a new while container to this container.
- tester
The test evaluator.
- returns
The node added.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
bindings: Set[String]
The names of this step's variable bindings.
The names of this step's variable bindings.
This method returns the names of the variables for which this step will receive bindings at runtime.
- returns
The variable names.
- Definition Classes
- Node
-
def
children: List[Node]
The children of this container.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
containerEnd: ContainerEnd
- Attributes
- protected[com.jafpl]
-
def
dependsOn(node: Node): Unit
Add a dependency edge.
Add a dependency edge.
This method asserts that the current node depends on another node. Ordinarily, data flow establishes dependencies automatically. If step A consumes the output of step B, the pipeline will assure that step B runs before step A.
In cases where there is no data flow dependency, but it's still necessary to force an order, you can impose one by saying that
A.dependsOn(B)
.- node
The node in the graph which must be run before this one
- Definition Classes
- Node
-
def
dumpClosed(depth: Int): Elem
- Attributes
- protected[com.jafpl.graph]
- Definition Classes
- Node
-
def
dumpClosedChildren(depth: Int): scala.xml.Node
- Attributes
- protected[com.jafpl.graph]
- Definition Classes
- ContainerStart → Node
-
def
dumpOpen(depth: Int): Elem
- Attributes
- protected[com.jafpl.graph]
- Definition Classes
- Node
-
def
dumpOpenChildren(depth: Int): scala.xml.Node
- Attributes
- protected[com.jafpl.graph]
- Definition Classes
- ContainerStart → Node
-
val
end: ContainerEnd
- Attributes
- protected
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
graph: Graph
- Definition Classes
- ContainerStart → Node
- def hasOutputEdge(port: String): Boolean
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
id: String
A unique identifier for this node.
A unique identifier for this node.
Every node has a unique identifier.
- Definition Classes
- Node
- val inputCardinalities: HashMap[String, Long]
- def inputEdge(port: String): Edge
- val inputInjectables: ListBuffer[PortInjectable]
-
def
inputs: Set[String]
The names of this step's input ports.
-
def
internal_name: String
- Attributes
- protected[com.jafpl.graph]
- Definition Classes
- Node
-
def
internal_name_=(newname: String): Unit
- Attributes
- protected[com.jafpl.graph]
- Definition Classes
- Node
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
label: String
The node label.
The node label.
Labels are used in output to help identify the node in question. The
id
of the node is always appended to the label.- Definition Classes
- Node
-
def
location: Option[Location]
The node's location.
The node's location.
The node location will be used for reporting (for example in errors).
- Definition Classes
- Node
- def location_=(loc: Location): Unit
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- Node
-
def
manifold: Option[ManifoldSpecification]
- Definition Classes
- Node
- def manifold_=(man: ManifoldSpecification): Unit
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val outputCardinalities: HashMap[String, Long]
- def outputEdge(port: String): Edge
- val outputInjectables: ListBuffer[PortInjectable]
-
def
outputs: Set[String]
The names of this step's output ports.
-
def
parent: Option[ContainerStart]
This node's parent.
-
def
state: NodeState
- Definition Classes
- Node
-
def
stateTransition(newState: NodeState): Unit
- Definition Classes
- Node
-
def
staticBindings: Map[Binding, Message]
- Definition Classes
- Node
-
def
staticBindings_=(bindings: Map[Binding, Message]): Unit
Specify the static bindings that are in scope for this node.
Specify the static bindings that are in scope for this node.
Static bindings are known at "compile time" and don't appear in the graph. (You aren't required to have statics in your graph.)
This method provides the node with the set of static bindings that are in-scope.
- bindings
The static bindings that are in-scope for this node.
- Definition Classes
- Node
-
val
step: Option[Step]
- Definition Classes
- Node
- val stepInjectables: ListBuffer[StepInjectable]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
A string representation of this node.
A string representation of this node.
- Definition Classes
- Node → AnyRef → Any
-
val
userLabel: Option[String]
- Definition Classes
- ContainerStart → Node
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
Just Another Fine Pipeline Language
This is a pipeline framework. It’s built on top of Akka actors to support arbitrary data flow pipelines. It is wholly agnostic to the kinds of data that flow through the pipelines and the implementations of the steps that process them.
See http://jafpl.com/ for more general information.