Hi, here's the changes I made to support the composite marshalling factory:
Two new classes in extras: CompositeBindingFactory CompositeMarshallingContext Modified classes in the main library: IMarshallingContext and MarshallingContext - added getMarshallerIndex(String name) to lookup a marshaller index based on name. IBindingFactory - added getMarshallers() and getUnmarshallers() methods. BindingDefinition - added code to generate getMarshallers() and getUnmarshallers() methods. BindingDirectory - added public static IBindingFactory getFactory(String pckage, String binding, ClassLoader loader) to lookup a binding factory based on package and class name, plus minor changes to a couple of internal methods to support this. The composite classes only support marshalling (no unmarshalling) at this stage, as I've never actually used the unmarshalling side at all, and am not familiar with many of the details involved. It also may not handle abstract mappings correctly, for the same reason. The changes to the main library are all pretty straight forward though, and hopefully shouldn't casue any problems. Not too sure where to submit patches this size, but it's only 5k zipped so I've attached it to this mail (tar -zcf). Apologies if this is not the preferred method. Anyway, feel free to use any/all/none of this, submitted under the terms of your contributor agreement. Cheers, Bill
composite.tgz
Description: GNU Unix tar archive
