DSL

The Pipelite DSL is a fluent, type-safe Java API that allows integration pipelines to be defined declaratively. The entry point is always Pipelite.defineFlow(name), which returns a builder with steps constrained by the interface hierarchy.

Operation hierarchy

FlowOperations
  └─ .fromSource(url)  ──► SourceOperations
                               extends ProcessOperations
                                 ├─ .process(...)
                                 ├─ .transformPayload(...)
                                 ├─ .filter(...)
                                 ├─ .wireTap(...)
                                 ├─ .split(...)
                                 ├─ .barrier(...)
                                 ├─ .toRoute(...)   ──► BuildOperations
                                 └─ .toSink(url)    ──► SinkOperations
                                                          extends BuildOperations

BuildOperations (mutually exclusive - each returns EndOperations, only .build() next)
  ├─ .withRetry(...)
  ├─ .withErrorChannel(...)
  ├─ .withExceptionHandler(...)
  └─ .build()

The interface hierarchy ensures that the Java compiler enforces the correct sequence: source → processors → (optional route or sink) → at most one error-handling mode → build.

Page Content

Flow Definition

All builder operations: fromSource, process, transformPayload, filter, wireTap, toSink, withRetry, withErrorChannel, withExceptionHandler, build.

Routing

Content-based routing, recipient list, and routing slip.

Split / Aggregate

Splitting a collection payload into independent messages and aggregating the results.

Barrier

Making an exchange wait for the completion of other flows, for the same business key.

Expressions

Expression syntax used by filter and routers.