After my last post I went away to play in the code for a while. Mostly to see what is necessary to isolate a minmal set of classes related to Property handling.
What I found is: 1) Property is ubiquitous: every client class knows what package it lives in. As a planning point, I better think about keeping a Property class (or prepare to make a lot more changes and lose a few friends). 2) PropertyList and PropertyListBuilder are used in fewer places. but they are used a lot. PropertyList is referenced 129 times and PropertyListBuilder only 8 times. Most of these references are in the Property class. If they can be hidden, the problem is bounded by the Property class. One way to discover the scope of an API is to rename a class or a package. Doing so breaks all of the compile units that depend on the renamed class(es). Restoring the missing interfaces restores the system if the restoration obeys the previous class contracts. As I suspected, automated code generation for properties is do-able. There are more than 17,000 lines in files generated through Ant target: 'codegen'. Many of these are clients of the Property class. Changes here can be localized to the XSL files that generate the code. -- John Austin <[EMAIL PROTECTED]>