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.
- Since:
- 1.2
- Author:
- Jeremy Kuhn
-
Packages