Preparation
Always make sure to pull/clone/download the latest 101simplejava repo.
See the instructions here:
https://github.com/101companies/101simplejava/blob/master/README.md
Starting point
You want to look at Contribution:sax for reading and writing XML.
Further, you want to look at Contribution:javaReflection for reflection code on an object model for "101".
Basically, you need to get expressiveness of both projects (as part of the 101simplejava repo) into one.
All other reflection samples from the lecture are available through a separate Eclipse project on 101repo.
Task
Develop a reflection-based de-/serializer for Java objects with XML as serialization format. The serializer is like an object dumper which dumps objects to XML rather than text; the de-serializer parses XML and constructs the corresponding objects.
Hint
One should use the object model of Contribution:javaReflection. One can use, overall, the Walker code of the same contribution to develop the serialization code. The de-serialization code should be derived from the SAX parser of Contribution:sax. Other XML processing options such as DOM are Ok, too.
Testing
A company object should be serialized to XML and then de-serialized back into a company object while the salary total for the two company objects would be shown to be the same as some expected baseline.