Hi Ron, Sorry, it's my turn to delay from being on a vacation. It's taken a little time to get my head back in the game.
The basic motivation for something like AdapterCreator is to have multiple related documents (part of the same project), and references between them
So, for instance, say I have a 2D tile-based RPG style game, reminiscent of the old console RPGs. I might have a document that represents a tile set that can be used for certain types of scenery - a town, say. And then another document that contains data (layout, existence of interactive entities, etc) about a specific town scene, with a reference to that tileset. Consider if the placement of the tiles indicated certain shading effects that might be necessary for each tile. So, the DomNodeAdapter for the instance of the tile in the scene would delegate the drawing of tiles to the adapter for the tileset (and any child adapters for individual tiles). But the tileset needs to query placement information from the scene so that it knows how to shade the tile.
I guess it is a bit of a contrived example, and this might not be the best way to go about this in the example. But it is a simpler to explain than the document relationships that brought up the question. In general, it is when I have a project with multiple documents, where one type of document describes a set of rules (like the tileset - how to draw specific tiles), and other documents describe data those rules act on (the scene). The DomNode/document for the rule wouldn't contain links to the data that uses it - many documents might use it. But an adapter for the rule would need to have a reference to the client Data Node so that it can query the data it arbitrates in a given instance. So I would need a separate Rule DomNodeAdapter for each Data document that uses the rule.
As I've been thinking through all this, a couple ideas have come to mind how this might be managed without the need for multiple adapters on a rule node, but I'll have to experiment with them and see if they make sense. I'd love to hear your perspective, though, if there is a standard approach others have found to situations like this.
~JJ