Module io.inverno.mod.irt

module io.inverno.mod.irt

The Inverno framework Reactive Templating module provides the base API used by Inverno Reactive Template classes to render a data model into a serialized representation (eg. HTML, XML, JSON...) in a procedural or reactive way.

The API should not be used directly as it is intended to be used in template classes resulting from the compilation of a Inverno Reactive Template source file by the Inverno Reactive Template compiler.

The API defines the TemplateSet interface which provides the basic building blocks used within a template class to render data models. It makes it possible to render data in a reactive way by taking a non-blocking approach. The objects to render are considered as a flow of events that are rendered using multiple templates in sequence. As a result, a publisher is rendered in the same way as any other object and the rendering process is never blocked.

The module also provides several base TemplateSet implementations that are used to generate different template classes depending on the desired output: String, ByteBuf, Stream, String or ByteBuf publishers. This basically allows to optimize the rendering process for a particular output.

It also defines the Pipe API, which allows a template implementation to transform data before applying a template. There are three kinds of pipes: regular pipes used to transform raw object (eg. formatting), stream pipes that perform transformation on a stream of data and publisher pipes that perform transformation on publishers. Pipes can be combined to create a single pipe that applies the pipes in sequence.

Jeremy Kuhn
  • Packages

    Inverno Reactive Template runtime.