...
Register databindings and transformers
To regsiter one or more databindings, you need to add entries to a plain text file named as META-INF/services/org.apache.tuscany.sca.databinding.DataBinding. This service provider file needs to be on the classpath when Tuscany is bootstrapped.
Code Block |
---|
# implementation classes for the databindingsorgdatabindings org.apache.tuscany.sca.databinding.axiom.AxiomDataBinding;type=org.apache.axiom.om.OMElement,name=axiom |
The syntax is: <implementation_class_name>;type=<databinding_id>,name=<databinding_alias>
To register one or more transformers, you need to add entries to a plain text file named as META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer. This service provider file needs to be on the classpath when Tuscany is bootstrapped.
Code Block |
---|
# Implementation classes for the transformers org.apache.tuscany.sca.databinding.axiom.Object2OMElement;source=java:simpleType,target=org.apache.axiom.om.OMElement,weight=10000 org.apache.tuscany.sca.databinding.axiom.OMElement2Object;source=org.apache.axiom.om.OMElement,target=java:simpleType,weight=10000 org.apache.tuscany.sca.databinding.axiom.OMElement2String;source=org.apache.axiom.om.OMElement,target=java.lang.String,weight=40 org.apache.tuscany.sca.databinding.axiom.OMElement2XMLStreamReader;source=org.apache.axiom.om.OMElement,target=javax.xml.stream.XMLStreamReader,weight=10 org.apache.tuscany.sca.databinding.axiom.String2OMElement;source=java.lang.String,target=org.apache.axiom.om.OMElement,weight=40 org.apache.tuscany.sca.databinding.axiom.XMLStreamReader2OMElement;source=javax.xml.stream.XMLStreamReader,target=org.apache.axiom.om.OMElement,weight=10 |
The syntax is: <implementation_class_name>;source=<source_databinding_id>,target=<target_databinding_id>,weight=<cost_of_the_transformation>
TODO List
- Support Collection or Array data types
- Better support interface/operation level databinding mappings
- Support databinding for java types which can be used for multiple datatypes, for example, InputStream or String can be used to represent various formats
- Better support exception/fault
- Support application data based introspection of operations