This project is a Java library used for parsing IBMs Advanced Function Printing document format.
The client API works on two levels, a parser for structured field introducers and a separate API for parsing the content of structured fields. The API has been designed with handler interfaces so that the client can control the behaviour of the parser.
The StructuredFieldIntroducer parser initially parses the structured field introducers of the AFP document. This gives a skeletal structure to the document and the behaviour is controlled by the StructuredFieldIntroducerHandler.
The richer parse of the document is handled once the introducers have been collected. A StructuredFieldFactory consumes StructuredFieldIntroducers and returns the parsed StructuredField objects. This system gives control of the rich parser to the client as structured fields can be selectively parsed. Once the structured fields have been parsed, the behaviour of the parser can be controlled through a simple interface; StructuredFieldHandler.
See the cli sub-project