abstract class Node extends AnyRef
A node in the pipeline graph.
You can't instantiate nodes directly, see the methods on com.jafpl.graph.Graph and on com.jafpl.graph.ContainerStart and its subtypes.
- Alphabetic
- By Inheritance
- Node
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
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]
- Attributes
- protected[com.jafpl]
- def addInputInjectable(injectable: PortInjectable): Unit
- def addOutputInjectable(injectable: PortInjectable): Unit
- def addStepInjectable(injectable: StepInjectable): Unit
-
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.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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
-
def
dumpClosed(depth: Int): Elem
- Attributes
- protected[com.jafpl.graph]
-
def
dumpClosedChildren(depth: Int): scala.xml.Node
- Attributes
- protected[com.jafpl.graph]
-
def
dumpOpen(depth: Int): Elem
- Attributes
- protected[com.jafpl.graph]
-
def
dumpOpenChildren(depth: Int): scala.xml.Node
- Attributes
- protected[com.jafpl.graph]
-
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
-
def
hasOutputEdge(port: String): Boolean
- Attributes
- protected[com.jafpl]
-
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.
-
val
inputCardinalities: HashMap[String, Long]
- Attributes
- protected[com.jafpl]
-
def
inputEdge(port: String): Edge
- Attributes
- protected[com.jafpl]
-
val
inputInjectables: ListBuffer[PortInjectable]
- Attributes
- protected[com.jafpl]
-
def
inputs: Set[String]
The names of this step's input ports.
The names of this step's input ports.
- returns
The input port names.
-
def
internal_name: String
- Attributes
- protected[com.jafpl.graph]
-
def
internal_name_=(newname: String): Unit
- Attributes
- protected[com.jafpl.graph]
-
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. -
def
location: Option[Location]
The node's location.
The node's location.
The node location will be used for reporting (for example in errors).
-
def
location_=(loc: Location): Unit
- Attributes
- protected[com.jafpl]
-
val
logger: Logger
- Attributes
- protected
- def manifold: Option[ManifoldSpecification]
-
def
manifold_=(man: ManifoldSpecification): Unit
- Attributes
- protected[com.jafpl]
-
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]
- Attributes
- protected[com.jafpl]
-
def
outputEdge(port: String): Edge
- Attributes
- protected[com.jafpl]
-
val
outputInjectables: ListBuffer[PortInjectable]
- Attributes
- protected[com.jafpl]
-
def
outputs: Set[String]
The names of this step's output ports.
The names of this step's output ports.
- returns
The output port names.
-
def
parent: Option[ContainerStart]
This node's parent.
This node's parent.
- returns
This node's parent.
- def state: NodeState
- def stateTransition(newState: NodeState): Unit
- def staticBindings: Map[Binding, Message]
-
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.
- val step: Option[Step]
-
val
stepInjectables: ListBuffer[StepInjectable]
- Attributes
- protected[com.jafpl]
-
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]
-
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.