Eheh, here I go again. It will be the third time I redesign things. And the problem is - I try to make things more complex than they should be to pass the exam.
My new design makes use of pre-defined
java exceptions; I do not define any of my own. I also have only four classes for handing io, caching and locking. Here they are:
Schema - defines and validates data-file schema.
IOStream - provides reading, writing, conversion methods for records
Cache - contains cache of active and deleted records.
Locker - contains locked records
I am still thinking of abolishing both Cache and Locker and going with static Maps in my Data class.
What do you guys think? Is it good enough? Could something be improved? I mean, for me writing the data-management system is the difficult part. I am doing it the third time: both two first times were too complex. Overcomplicating things is the bane of this assignment.
Anton Golovin (anton.golovin@gmail.com) SCJP, SCJD, SCBCD, SCWCD, OCEJWSD, SCEA/OCMJEA [JEE certs from Sun/Oracle]