But sometimes the properties of a graph cannont be set in stone, or it is undesirable to do so. I have just such a scenario, which is what just brought me to this thread.
I have a number of test applications which generate time series graphs (amonst other data). But although the structure of this data is always similar, the graphs themselves have differing properties. Now, I want to be able to store the graph data in a database and then be able to display it in a central reporting application. And when I display this data, I want to graph in the reporting app to look like the one from the software that originally created the data.
I could do this by creating a data object for each graph type, which ecapulates the data AND the graph indicator needed to display it (created and configured during development) but this means I'd need a unique object class for every graph - even if the structure of the data is the same. Even leveraging inhritance, this is wasteful. It also means that every time I want to add a graph type I would have to update the reporting application accordingly.
What would be better is if I could take all the graph properties from the test software and include them along with the logged data. So that when I view the data the reporting application's graph indicator can be programatically configured to look the same as the original test application - without having to be updated or re-compiled.
Being able to llist all the properties and bundle them up would be very useful for this.