Packages

trait Step extends DataConsumer with ManifoldSpecification

An atomic pipeline step.

Steps must implement this interface. The step lifecycle is as follows:

1. The setConsumer method will be called. The step must hold onto the consumer object. Calling send on this object is the step's one and only way to send output to the next steps(s) in the pipeline. 2. The receive method will be called for each input item that the step receives. 3. The run method will be called after all inputs have been received. 4. If the step is in a loop, the reset method will be called between iterations.

Steps are not required to wait until their run method is called before beginning execution. Note, however, that if a step has side effects (writing to disk, interacting with a web service, etc.) it is prudent to do so. A step may receive several inputs and then never run if some sibling step raised an exception that caused an entire container to fail.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Step
  2. ManifoldSpecification
  3. DataConsumer
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def abort(): Unit

    Abort processing.

    Abort processing.

    This method will be called if run will never be called because an exception has terminated execution of the container that contains this step.

    Note that reset will also called before processing restarts if this step is in a loop.

  2. abstract def bindingSpec: BindingSpecification

    The names of the variable bindings this step requires.

    The names of the variable bindings this step requires.

    This method returns the names of the variables for which the step requires a binding.

    returns

    The list of variable names.

  3. abstract def id: String
    Definition Classes
    DataConsumer
  4. abstract def initialize(config: RuntimeConfiguration): Unit

    One time, startup initialization.

    One time, startup initialization.

    The pipeline has been constructed and is going to run. This method is called once before execution begins.

    config

    The runtime configuration used by this pipeline

  5. abstract def inputSpec: PortSpecification

    The names of the input ports this step requires.

    The names of the input ports this step requires.

    This method returns the names of the input ports that the step requires.

    returns

    The list of required port names.

    Definition Classes
    ManifoldSpecification
  6. abstract def outputSpec: PortSpecification

    The names of the output ports this step requires.

    The names of the output ports this step requires.

    This method returns the names of the output ports that the step requires.

    returns

    The list of required port names.

    Definition Classes
    ManifoldSpecification
  7. abstract def receive(port: String, message: Message): Unit

    Send output from a step.

    Send output from a step.

    Calling this method sends the specified message on the specified port.

    port

    The output port.

    message

    The message.

    Definition Classes
    DataConsumer
  8. abstract def receiveBinding(message: BindingMessage): Unit

    Receive a binding.

    Receive a binding.

    Receive a variable binding from the pipeline.

    message

    The binding message.

  9. abstract def reset(): Unit

    Reset to starting conditions.

    Reset to starting conditions.

    Inputs are about to begin arriving, you're going to be asked to run again, get yourself ready!

  10. abstract def run(): Unit

    Run!

    Run!

    All inputs have been recieved, so your deal.

  11. abstract def setConsumer(consumer: DataConsumer): Unit

    Set the consumer for sending output to the pipeline.

    Set the consumer for sending output to the pipeline.

    consumer

    The consumer.

  12. abstract def setLocation(location: Location): Unit

    Set the location associated with this step.

    Set the location associated with this step.

    Many pipelines are constructed from an external, declarative description. In the event that constructing or running the pipeline results in an error, authors will be greatly relieved if the source of their error can be pinpointed exactly.

    location

    The location associated with this step.

  13. abstract def stop(): Unit

    Stop processing.

    Stop processing.

    This method will be called when all processing has finished and the pipeline is about to end.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ManifoldSpecification

Inherited from DataConsumer

Inherited from AnyRef

Inherited from Any

IOSpecs

These methods define the input and output contracts for a step: required inputs and their cardinalities, outputs and their cardinalities, and required bindings.

Ungrouped