This is very similar to a ProcessReader, only clearly its intention is to write output results, rather than read input. Typically, it will have no outputs, but would be able to be connected to several inputs. Again, like a Reader, there is no restriction on input and outputs as it is a fully functional ProcessElement. One slight added complication is the fact that more than one file with a different format can be written at the same time, by specifying different files for each valid file format.
The two new methods of interest are outputToFile, which is used as a
request from the main program to connect the output to a named file, and
writeOutput, a pure virtual method which must be provided by the
user derived class to write the data in the format required.