(A B (C D E)) which is a nested list containing A and B items and a sublist of C D E. Here there are only two classes: lists and everything else. Right now we have three. DiffNodes, which contain both atomic fields (A B) as well as the subnodes ((C D E)) here. These a specific class for DiffLeaf, which is really just a pair mapping name=value. And DiffElement contains a named item, since all objected in the hierarchy have a name. It's just doesn't feel right to me right now. Ultimately the problem is that you want the objects to be self-describing, so the DiffElement and DiffLeaf are a clean factoring the need for names in both the values and the nodes. |
||
|---|---|---|
| public | ||
| settings | ||
| LICENSE | ||
| build.xml | ||
| ivy.xml | ||