org.jboss.soa.esb.actions.converters
Class XStreamToObject

java.lang.Object
  extended by org.jboss.soa.esb.actions.AbstractActionLifecycle
      extended by org.jboss.soa.esb.actions.AbstractActionPipelineProcessor
          extended by org.jboss.soa.esb.actions.converters.AbstractObjectXStream
              extended by org.jboss.soa.esb.actions.converters.XStreamToObject
All Implemented Interfaces:
ActionLifecycle, ActionPipelineProcessor

public class XStreamToObject
extends AbstractObjectXStream

Object to processor.

Uses the XStream processor to generate an XML message String from the supplied object.

Sample Action Configuration:

 <Action name="doCustomer" processor="XStreamObject">
     <property name="class-alias" value="Customer" /> <!-- Optional. Class alias used in call to XStream.alias(String, Class) prior to deserialisation. -->
     <property name="incoming-type" value="CustomerProcessor" /> <!-- Required. Class for incoming type used to process the message after  deserialisation. -->
     <property name="exclude-package" value="false" /> <!-- Optional. Default "true".  Not applicable if a "class-alias" is specified. -->
 </Action>
 

The XML root element is either set from the "class-alias" property or the classes full name. In the later case, the class package is excluded unless "exclude-package" is set to "false"/"no". This can be used with ObjectToXStream

Since:
Version 4.0
Author:
danielmarchant

Field Summary
 
Fields inherited from class org.jboss.soa.esb.actions.converters.AbstractObjectXStream
classAlias, classMethod, classProcessor, excludePackage, processorClass
 
Fields inherited from interface org.jboss.soa.esb.actions.ActionPipelineProcessor
PROCESS_EXCEPTION_METHOD, PROCESS_METHOD, PROCESS_SUCCESS_METHOD
 
Constructor Summary
XStreamToObject(ConfigTree properties)
          Public constructor.
XStreamToObject(java.lang.String actionName, java.util.List<KeyValuePair> properties)
          Public constructor.
 
Method Summary
 Message process(Message message)
          Processes the message by using the giving class-processor.
 
Methods inherited from class org.jboss.soa.esb.actions.converters.AbstractObjectXStream
getAlias, getName, setName
 
Methods inherited from class org.jboss.soa.esb.actions.AbstractActionPipelineProcessor
processException, processSuccess
 
Methods inherited from class org.jboss.soa.esb.actions.AbstractActionLifecycle
destroy, initialise
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.soa.esb.actions.ActionLifecycle
destroy, initialise
 

Constructor Detail

XStreamToObject

public XStreamToObject(ConfigTree properties)
Public constructor.

Parameters:
properties - Action Properties.
Throws:
ConfigurationException - Action not properly configured.

XStreamToObject

public XStreamToObject(java.lang.String actionName,
                       java.util.List<KeyValuePair> properties)
Public constructor.

Parameters:
actionName - Action name.
properties - Action Properties.
Throws:
ConfigurationException - Action not properly configured.
Method Detail

process

public Message process(Message message)
                throws ActionProcessingException
Processes the message by using the giving class-processor.

Parameters:
message - The current message being processed.
Returns:
The message to be passed to the next stage of the pipeline.
Throws:
ActionProcessingException - for errors during processing.