Implementing your own Custom Command
Before we dive into the currently available commands, it is worth noting again that perhaps the most important property of the Morphlines framework is how easy it is to add new transformations and I/O commands and integrate existing functionality and third party systems. If none of the existing commands match your use case, you can easily write your own command and plug it in.
Simply implement the Java interface Command or subclass AbstractCommand, have it handle a Record and add the resulting Java class to the classpath,
along with a CommandBuilder implementation that defines the name(s) of
the command and serves as a factory. Here are two example implementations: toString and readLine. No registration or other administrative action
is required. Indeed, none of the standard commands are special or intrinsically known per se. All
commands are implemented like this, even including standard commands such as
pipe
, if
, and tryRules
. This means your
custom commands can even replace any standard commands, if desired. When writing your own custom
Command implementation you can take advantage of lifecycle methods: you compile regexes, read
config files and perform other expensive setup stuff once in the constructor of the command, then
reuse the resulting optimized representation any number of times in the execution phase on method
process()
. Putting it all together, you can download and run this working example Maven project that demonstrates how to unit test
Morphline config files and custom Morphline commands. With that said, the following tables
provide a short description of each available command and a link to the complete
documentation.