I'm asked to build an application that allows ppl to enter information about a customer (other companies), and then generate several PDF's from that information (so that all the info only needs to be entered once). A lot of those documents need the same information (name, address,...) so this would speed up the process of creating the docs.
I know about creating/editing pdf's, JSP's, database logic, ... but I'm stuck with the essential part: what will my data model look like?
This is the problem: each customer has some general information (name, address,..) so that can go easily into a Customer Class. But what with all of the other information that is needed to fill out those documents.
Currently there are about 7 documents that need all kinds of information. Some is shared between documents, some isn't. Most of the information are Strings, but some are Booleans or Integers. It's pretty obvious that in the future more documents will be needed, or that existing documents will change.
I could keep all of the needed document fields in an external XML file that can be edited, and keep all of the data in a Map in the Customer class. But that's not very pretty...