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

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

public class ItemList2ObjectTransformer
extends BaseTransformer<ItemList,java.lang.Object>
implements PullTransformer<ItemList,java.lang.Object>

Transforms each object contained in the ItemList object. If the object type is the same as the target type, it is not transformed. If the object is a NodeInfo, it's transformed to a DataObject. If the object is a Value, it's transformed to a Java object. If the target type is not an array, the first transformed object is returned. If the first transformed object type is not a target type, then a TransformException is thrown If the target type is an array, a array of this type is created containing all transformed objects and it is returned If any transformed object is not a target type, then a TransformException is thrown


Constructor Summary
ItemList2ObjectTransformer()
           
 
Method Summary
protected  java.lang.Class<ItemList> getSourceType()
           
protected  java.lang.Class<java.lang.Object> getTargetType()
           
 int getWeight()
          Get the cost of the transformation.
 java.lang.Object transform(ItemList 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

ItemList2ObjectTransformer

public ItemList2ObjectTransformer()
Method Detail

getSourceType

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

getTargetType

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

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<ItemList,java.lang.Object>
Returns:
An integer representing the cost of the transformation

transform

public java.lang.Object transform(ItemList source,
                                  TransformationContext context)
Description copied from interface: PullTransformer
Transform source data into the result type.

Specified by:
transform in interface PullTransformer<ItemList,java.lang.Object>
Parameters:
source - The source data
context - The context for the transformation
Returns:
The transformed result