Class SmooksDataFormat
java.lang.Object
org.smooks.cartridges.camel.dataformat.SmooksDataFormat
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.CamelContextAware,org.apache.camel.Service,org.apache.camel.spi.DataFormat,org.apache.camel.spi.HasCamelContext
public class SmooksDataFormat
extends Object
implements org.apache.camel.spi.DataFormat, org.apache.camel.CamelContextAware, org.apache.camel.Service
SmooksDataFormat is a Camel data format which is a pluggable transformer
capable of transforming from one dataformat to another and back again.
This means that what is marshaled can be unmarshaled by an instance of this
class.
A smooks configuration for a SmooksDataFormat should not utilize Smooks
features such as routing that might allocated system resources. The reason
for this is that there is no functionality in the SmooksDataFormat which will
close those resources. If you need to use these Smooks features please take a
look at the
SmooksComponent or SmooksProcessor as they hook
into Camels lifecycle manegment and will close resources correctly.
- Author:
- Christian Mueller, Daniel Bevenius
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.camel.CamelContextprotected ObjectgetResult(org.smooks.io.payload.Exports exports, Result[] results, org.apache.camel.Exchange exchange) voidmarshal(org.apache.camel.Exchange exchange, Object fromBody, OutputStream toStream) Marshals the Object 'fromBody' to an OutputStream 'toStream'voidsetCamelContext(org.apache.camel.CamelContext camelContext) voidstart()voidstop()unmarshal(org.apache.camel.Exchange exchange, InputStream fromStream) Unmarshals the fromStream to an Object.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.camel.spi.DataFormat
unmarshalMethods inherited from interface org.apache.camel.Service
build, close, init
-
Constructor Details
-
SmooksDataFormat
- Throws:
Exception
-
-
Method Details
-
marshal
public void marshal(org.apache.camel.Exchange exchange, Object fromBody, OutputStream toStream) throws Exception Marshals the Object 'fromBody' to an OutputStream 'toStream' The Camel framework will call this method fromAsyncProcessorSupport.process(Exchange)and it will take care of setting the Out Message's body to the bytes written to the toStream OutputStream.- Specified by:
marshalin interfaceorg.apache.camel.spi.DataFormat- Parameters:
exchange- The CamelExchange.fromBody- The object to be marshalled into the output stream.toStream- The output stream that will be written to.- Throws:
Exception
-
unmarshal
Unmarshals the fromStream to an Object. The Camel framework will call this method fromAsyncProcessorSupport.process(Exchange)and it will take care of setting the returned Object on the Out Message's body.- Specified by:
unmarshalin interfaceorg.apache.camel.spi.DataFormat- Parameters:
exchange- The CamelExchange.fromStream- The InputStream that will be unmarshalled into an Object instance.
-
getResult
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContextin interfaceorg.apache.camel.CamelContextAware
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContextin interfaceorg.apache.camel.spi.HasCamelContext
-
start
public void start()- Specified by:
startin interfaceorg.apache.camel.Service
-
stop
public void stop()- Specified by:
stopin interfaceorg.apache.camel.Service
-