org.apache.tuscany.sca.databinding.saxon
Class DataObject2NodeInfoTransformer

java.lang.Object
  extended by org.apache.tuscany.sca.databinding.impl.BaseTransformer<DataObject,NodeInfo>
      extended by org.apache.tuscany.sca.databinding.saxon.DataObject2NodeInfoTransformer
All Implemented Interfaces:
PullTransformer<DataObject,NodeInfo>, Transformer

public class DataObject2NodeInfoTransformer
extends BaseTransformer<DataObject,NodeInfo>
implements PullTransformer<DataObject,NodeInfo>

Transforms SDO DataObject-s to NodeInfo objects needed by Saxon parser. For root element when Serializing the DataObject the name of its implemented interface is used with its first letter made lowercase. Also any namespaces that are defined are deleted, because otherwise the SaxonB parser does not work


Constructor Summary
DataObject2NodeInfoTransformer()
           
DataObject2NodeInfoTransformer(Node2NodeInfoTransformer node2NodeInfoTransformer)
           
 
Method Summary
protected  java.lang.Class<DataObject> getSourceType()
           
protected  java.lang.Class<NodeInfo> getTargetType()
           
 int getWeight()
          Get the cost of the transformation.
 NodeInfo transform(DataObject source, TransformationContext context)
          Transform source data into the result type.
 
Methods inherited from class org.apache.tuscany.sca.databinding.impl.BaseTransformer
getSourceDataBinding, getTargetDataBinding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.tuscany.sca.databinding.Transformer
getSourceDataBinding, getTargetDataBinding
 

Constructor Detail

DataObject2NodeInfoTransformer

public DataObject2NodeInfoTransformer(Node2NodeInfoTransformer node2NodeInfoTransformer)

DataObject2NodeInfoTransformer

public DataObject2NodeInfoTransformer()
Method Detail

transform

public NodeInfo transform(DataObject source,
                          TransformationContext context)
Description copied from interface: PullTransformer
Transform source data into the result type.

Specified by:
transform in interface PullTransformer<DataObject,NodeInfo>
Parameters:
source - The source data
context - The context for the transformation
Returns:
The transformed result

getSourceType

protected java.lang.Class<DataObject> getSourceType()
Specified by:
getSourceType in class BaseTransformer<DataObject,NodeInfo>

getTargetType

protected java.lang.Class<NodeInfo> getTargetType()
Specified by:
getTargetType in class BaseTransformer<DataObject,NodeInfo>

getWeight

public int getWeight()
Description copied from interface: Transformer
Get the cost of the transformation. The weight can be used to choose the most efficient path if there are more than one available from the source to the target.

Specified by:
getWeight in interface Transformer
Overrides:
getWeight in class BaseTransformer<DataObject,NodeInfo>
Returns:
An integer representing the cost of the transformation