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

Attachment: composite.tgz
Description: GNU Unix tar archive

Reply via email to