ApplicationBuilder

portals.api.builder.ApplicationBuilder
See theApplicationBuilder companion object

Builder for Portals applications.

The preferred way of building Portals applications is via the portals.api.dsl.DSL.PortalsApp, and the various methods of the portals.api.dsl.DSL.

Attributes

See also
Example
val builder = ApplicationBuilder("my-app")
Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

Build the application.

Build the application.

This method will freeze and build the application. May throw an exception if the application is not valid.

Attributes

Returns

the built application

Connect a stream to a sequencer.

Connect a stream to a sequencer.

Creates a ConnectionBuilder which can be used to connect streams to sequencers.

Attributes

Returns

the connection builder

Example
builder.connections.connect(stream, sequencer)
def connections(name: String): ConnectionBuilder

Connect a stream to a sequencer.

Connect a stream to a sequencer.

Creates a ConnectionBuilder which can be used to connect streams to sequencers.

Value parameters

name

the name of the connection

Attributes

Returns

the connection builder

Example
builder.connections("name").connect(stream, sequencer)

GeneratorBuilder for generating streams.

GeneratorBuilder for generating streams.

The generator builder is used to create generators, which are used to generate streams. It is recommended to use the methods of the GeneratorBuilder to do this.

Attributes

Returns

the generator builder

Example
builder.generators.fromList[T](List(1, 2, 3))

] }}}

def generators(name: String): GeneratorBuilder

GeneratorBuilder for generating streams.

GeneratorBuilder for generating streams.

The generator builder is used to create generators, which are used to generate streams. It is recommended to use the methods of the GeneratorBuilder to do this.

If no name is provided, the generator will be given a generated unique

Value parameters

name

the name of the generator

Attributes

Returns

the generator builder

Example
builder.generators.fromList[T](List(1, 2, 3))

] }}}

Build Portals.

Build Portals.

The PortalBuilder is used to build portals. A workflow can connect to a portal via either an asker task or a replier task.

If no name is provided, the portal will be given a generated unique name.

Attributes

Returns

the portal builder

Example
builder.portals.portal[String, Int]()
def portals(name: String): PortalBuilder

Build Portals.

Build Portals.

The PortalBuilder is used to build portals. A workflow can connect to a portal via either an asker task or a replier task.

Value parameters

name

the name of the portal

Attributes

Returns

the portal builder

Example
builder.portals("name").portal[String, Int]()

Access the registry builder.

Access the registry builder.

The registry builder is used to get other applications, streams, sequencers, and more from the registry.

Attributes

Returns

the registry builder

Example
builder.registry.streams.get[String]("path/to/stream")

Sequence multiple streams into a single sequenced stream.

Sequence multiple streams into a single sequenced stream.

The sequencer builder creates sequencers. We can add new inputs to the sequencer via the ConnectionBuilder.

If no name is provided, the sequencer will be given a generated unique

Attributes

Returns

the sequencer builder

Example
builder.sequencers.random[String]()
def sequencers(name: String): SequencerBuilder

Sequence multiple streams into a single sequenced stream.

Sequence multiple streams into a single sequenced stream.

The sequencer builder creates sequencers. We can add new inputs to the sequencer via the ConnectionBuilder.

Value parameters

name

the name of the sequencer

Attributes

Returns

the sequencer builder

Example
builder.sequencers("name").random[String]("seqname")

Access the SplitBuilder to add splits to splitters.

Access the SplitBuilder to add splits to splitters.

The split builder is used to add a split to a splitter. A split takes a predicate to determine which events are filtered for the split.

Attributes

Returns

the split builder

Example
builder.splits.split[String](_ == "foo")
def splits(name: String): SplitBuilder

Access the SplitBuilder to add splits to splitters.

Access the SplitBuilder to add splits to splitters.

The split builder is used to add a split to a splitter. A split takes a predicate to determine which events are filtered for the split.

If no name is provided, the split will be given a generated unique name.

Value parameters

name

the name of the split

Attributes

Returns

the split builder

Example
builder.splits("splitname").split[String](_ == "foo")

Access the splitter builder.

Access the splitter builder.

The splitter splits an input stream into multiple output streams. A split can be added to the spltiter via the splits builder. The split takes a predicate to determine which events are filtered for the split.

If no name is provided, the stream will be given a generated unique name.

Attributes

Returns

the streams builder

Example
builder.splitters.empty[String]
def splitters(name: String): SplitterBuilder

Access the splitter builder.

Access the splitter builder.

The splitter splits an input stream into multiple output streams. A split can be added to the spltiter via the splits builder. The split takes a predicate to determine which events are filtered for the split.

Value parameters

name

the name of the splitter

Attributes

Returns

the streams builder

Example
builder.splitters.empty[String]
def workflows[T, U]: WorkflowBuilder[T, U]

Access the workflows builder.

Access the workflows builder.

The workflows builder is used to create workflows.

If no name is provided, the workflow will be given a generated unique name.

Attributes

Returns

the workflows builder

Example
builder.workflows[String, String].source(stream).map(_ + "!").sink().freeze()
def workflows[T, U](name: String): WorkflowBuilder[T, U]

Access the workflows builder.

Access the workflows builder.

The workflows builder is used to create workflows.

Value parameters

name

the name of the workflow

Attributes

Returns

the workflows builder

Example
builder.workflows[String, String]("wfname").source(stream).map(_ + "!").sink().freeze()