Skip to content
This repository has been archived by the owner on Jun 19, 2019. It is now read-only.

adrobisch/brainslug

Repository files navigation

brainslug

brainslug

brainslug is a control flow abstraction library. It enables you to model your application flow as a graph of typed nodes, which can be transformed to different representations or be executed within a customisable environment.

Maven Central

Download

The current version is available in the maven central repository

Hello World

FlowDefinition helloWorldFlow = new FlowBuilder() {
  @Override
  public void define() {
    flowId(id("helloFlow"));

    start(id("start")).execute(task(id("helloTask"), new SimpleTask() {
      @Override
      public void execute(ExecutionContext context) {
        System.out.println("Hello World!");
      }
    }));
  }
}.getDefinition();

//  create brainslug context with defaults
BrainslugContext context = new BrainslugContextBuilder().build();
context.addFlowDefinition(helloWorldFlow);

context.startFlow(helloWorldFlow.getId(), IdUtil.id("start"));

Rendered as:

hello_flow

Documentation

Check the project Github Pages for examples and documentation.

Versioning

Starting with version 1.0.0, brainslug will follow semantic versioning. During the 0.x releases, the minor (.x) releases may include breaking changes.

License

brainslug is published under the terms of the Apache 2.0 License. See the LICENSE file.

About

brainslug control flow abstraction and workflow library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages