org.fusesource.fabric.camel.c24io
Class FallbackTypeConverter

java.lang.Object
  extended by org.fusesource.fabric.camel.c24io.FallbackTypeConverter
All Implemented Interfaces:
org.apache.camel.spi.TypeConverterAware, org.apache.camel.TypeConverter

public class FallbackTypeConverter
extends java.lang.Object
implements org.apache.camel.TypeConverter, org.apache.camel.spi.TypeConverterAware

Auto-detect ComplexDataObject instances from the C24 IO and allow them to be transformed to and from sources and sinks.

Version:
$Revision$

Constructor Summary
FallbackTypeConverter()
           
 
Method Summary
<T> T
convertTo(java.lang.Class<T> type, org.apache.camel.Exchange exchange, java.lang.Object value)
           
<T> T
convertTo(java.lang.Class<T> type, java.lang.Object value)
           
<T> T
convertTo(java.lang.Class<T> type, java.lang.Object value, org.apache.camel.Exchange exchange)
           
protected  biz.c24.io.api.data.Element getElementForType(java.lang.Class<?> type, org.apache.camel.Exchange exchange)
           
protected  biz.c24.io.api.presentation.Sink getSink(biz.c24.io.api.data.ComplexDataObject dataObject, org.apache.camel.Exchange exchange)
           
protected  biz.c24.io.api.presentation.Source getSource(java.lang.Class<?> type, biz.c24.io.api.data.Element element, org.apache.camel.Exchange exchange)
           
protected
<T> boolean
isComplexDataObject(java.lang.Class<T> type)
           
 boolean isPrettyPrint()
           
<T> T
mandatoryConvertTo(java.lang.Class<T> type, org.apache.camel.Exchange exchange, java.lang.Object value)
           
<T> T
mandatoryConvertTo(java.lang.Class<T> type, java.lang.Object value)
           
protected
<T> T
marshall(java.lang.Class<T> type, biz.c24.io.api.data.ComplexDataObject dataObject, org.apache.camel.Exchange exchange)
           
 void setPrettyPrint(boolean prettyPrint)
           
 void setTypeConverter(org.apache.camel.TypeConverter parentTypeConverter)
           
protected
<T> T
unmarshall(java.lang.Class<T> type, java.lang.Object value, org.apache.camel.Exchange exchange)
          Lets try parse via JAXB
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FallbackTypeConverter

public FallbackTypeConverter()
Method Detail

isPrettyPrint

public boolean isPrettyPrint()

setPrettyPrint

public void setPrettyPrint(boolean prettyPrint)

setTypeConverter

public void setTypeConverter(org.apache.camel.TypeConverter parentTypeConverter)
Specified by:
setTypeConverter in interface org.apache.camel.spi.TypeConverterAware

convertTo

public <T> T convertTo(java.lang.Class<T> type,
                       java.lang.Object value)
Specified by:
convertTo in interface org.apache.camel.TypeConverter

convertTo

public <T> T convertTo(java.lang.Class<T> type,
                       java.lang.Object value,
                       org.apache.camel.Exchange exchange)

isComplexDataObject

protected <T> boolean isComplexDataObject(java.lang.Class<T> type)

unmarshall

protected <T> T unmarshall(java.lang.Class<T> type,
                           java.lang.Object value,
                           org.apache.camel.Exchange exchange)
                throws java.io.IOException
Lets try parse via JAXB

Throws:
java.io.IOException

getElementForType

protected biz.c24.io.api.data.Element getElementForType(java.lang.Class<?> type,
                                                        org.apache.camel.Exchange exchange)

marshall

protected <T> T marshall(java.lang.Class<T> type,
                         biz.c24.io.api.data.ComplexDataObject dataObject,
                         org.apache.camel.Exchange exchange)
              throws java.io.IOException
Throws:
java.io.IOException

getSource

protected biz.c24.io.api.presentation.Source getSource(java.lang.Class<?> type,
                                                       biz.c24.io.api.data.Element element,
                                                       org.apache.camel.Exchange exchange)

getSink

protected biz.c24.io.api.presentation.Sink getSink(biz.c24.io.api.data.ComplexDataObject dataObject,
                                                   org.apache.camel.Exchange exchange)

convertTo

public <T> T convertTo(java.lang.Class<T> type,
                       org.apache.camel.Exchange exchange,
                       java.lang.Object value)
Specified by:
convertTo in interface org.apache.camel.TypeConverter

mandatoryConvertTo

public <T> T mandatoryConvertTo(java.lang.Class<T> type,
                                org.apache.camel.Exchange exchange,
                                java.lang.Object value)
                     throws org.apache.camel.NoTypeConversionAvailableException
Specified by:
mandatoryConvertTo in interface org.apache.camel.TypeConverter
Throws:
org.apache.camel.NoTypeConversionAvailableException

mandatoryConvertTo

public <T> T mandatoryConvertTo(java.lang.Class<T> type,
                                java.lang.Object value)
                     throws org.apache.camel.NoTypeConversionAvailableException
Specified by:
mandatoryConvertTo in interface org.apache.camel.TypeConverter
Throws:
org.apache.camel.NoTypeConversionAvailableException


Copyright © 2012 FuseSource. All Rights Reserved.