Fork me on GitHub


There are several types of configuration transformations that currently exist. All are briefly described here, but more detail is available in the javadocs for the ConfigurationTransformation class. Construction and application of transformations are kept as separate phases to allow transformations to be treated like functions.


This is the basis of the transformation system. A transformation is composed of a TransformationAction assigned to a path (that may contain wildcard values). Paths are sorted in natural ordering from shortest path to longest path.


The chained transformation takes several existing transformations and executes them in order. This can be used for more complex transformations where multiple phases are necessary.


The versioned transformer is designed to make it simple to build versioned configurations. It accepts a key to get the current schema version at and a transformation for each version to make the required changes from the previous version.