COBOLIO is a library used for parsing and reading mainframe datasets to and from the mainframe. The idea for this project came about due to a request for a parsing library that would incorporate extreme flexibility in how the fields might be handled. A lack of flexibility was encountered when considering Cobol2J, but the core premise of it was very promising.
Bruce Martin's JRecord is also a fantastic library that received much consideration, but, again, the flexibility for type handling configuration was lacking. An idea came to mind of taking the approach that Jackson and BeanIO make use of, and simply create an extensible wrapper for the language.
Will contain an expression language for configuring field patterns which should be handled in their own way, such as joining, or custom reformatting. For example, two fields at the same level where the first is a sign character and the second is a numeric field. The expressions could be configured to always join this pattern into a signed numeric. The primary mechanism for which this will be incorporated will likely be XSLT. This is far from ideal, but it allows the user to be extremely flexible in their design choices. At the same time, XSLT may also make this extremely error-prone, so a 2.0 design may do away with this approach for something better.
It was strongly recommended that use class generation as the templating functionality for translating the copybook xml definitions to java containers, so the decision was made to use Apache Velocity at the core of the project
...
-
MFDS2J uses Cb2Xml as a direct dependency. It is stored internally due to lack of presence on the central Maven repository. It will be updated to the most recent version whenever they are made available. This also takes aspects of Cobol2J and BeanIO.
-
Additionally, this application makes use of design traits that I have learned while working with IBM RecordGen, so additional characteristics in this library may be found in IBM RecordGen.
This project is licensed under the MIT License