Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
68 lines (55 sloc) 1.71 KB

Example - Class based Context Script


package examples;

import com.mackenziehigh.cascade.Cascade;
import com.mackenziehigh.cascade.Cascade.Stage;
import com.mackenziehigh.cascade.Cascade.Stage.Actor;

public final class Example
    public static void main (String[] args)
        final Example main = new Example();

    private void demo ()
        // Create a single-threaded stage.
        final Stage stage = Cascade.newStage();

        // Create the actor that is being demonstrated.
        final Actor<Integer, Double> actor = stage
                .withContextScript(new CustomScript())

        // Create an actor that merely prints the messages
        // that the previous actor produced.
        final Actor<Double, Double> printer = stage
                .withConsumerScript((Double msg) -> System.out.println("sqrt = " + msg))

        // Connect the actors to form a pipeline.

        // Send a message through the pipeline.

     * An instance of this script defines how the actor will behave.
    private static final class CustomScript
            implements Actor.ContextScript<Integer, Double>
        public void onInput (final Actor.Context<Integer, Double> context,
                             final Integer input)
                throws Throwable
            final double root = Math.sqrt(input);
            context.sendFrom(root); // To Next Actor


sqrt = 4.123105625617661
You can’t perform that action at this time.