...
- SimpleTypeMapper: convert data between XSD simple types (by the databinding, for example, OMElement with an OMText child) and java objects
DataBindingRuntimeWireProcessor and DataTransformationInteceptor
DataBindingRuntimeWireProcessor is responsible to insert a DataTransformationInteceptor into the invovcation chains if the data transformation is required between the source and target operations. Depending on the invocation patterns, it uses the effective interface contracts to determine if transformation should be applied.
Typically, there are three cases:
Interaction | Effective Source Interface contract | Effective Target Interface Contract |
A SCA component talks to another SCA component over a remotable interface using binding.sca | The interface contract of the reference defined by the source component type | The interface contract of the service defined by the target component type |
A SCA component talks to an external service using binding.x | The interface contract of the reference defined by the source component type | The interface contract imposed by the binding protocol |
The request from binding.y is routed to a component service | The interface contract imposed by binding.y | The interface contract of the service defined by the target component type |
Extend the databinding framework
...