Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

    java.lang.Object
      org.jboss.soa.esb.actions.AbstractActionLifecycle
          org.jboss.soa.esb.actions.AbstractActionPipelineProcessor
              org.jboss.soa.esb.actions.converters.AbstractObjectXStream
                  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. -->
         <property name="root-node" value="/root/Customer" />
         <!-- Optional. Specify an XPath expression be used to determine the root node used with XStream.
         Useful when the object to convert is not the root node of the document -->
         <property name="aliases"> <!-- Optional list of extra aliases to add to XStream  -->
                    <alias name="aliasName" class="className" />
                    <alias name="aliasName" class="className" />
                    ...
         </property>
         <property name="converters"> <!-- Optional list of converter to register with XStream  -->
                    <converter class="className" />
                    <converter class="className" />
                    ...
     </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, Daniel Bevenius

Field Summary

Fields inherited from class org.jboss.soa.esb.actions.converters.AbstractObjectXStream
`classAlias, classMethod, classProcessor, excludePackage, processorClass, rootNodeName`

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.
`protected` | `XStreamToObject(java.lang.String actionName, java.util.List<KeyValuePair> properties)` Public constructor.

Method Summary
`protected void` | `addAliases(java.util.Map<java.lang.String,java.lang.String> aliases, com.thoughtworks.xstream.XStream xstream)` Added the aliases contained in the passed-in map to the passed-in XStream object
`protected void` | `addAttributeAliases(java.util.Map<java.lang.String,java.lang.String> aliases, com.thoughtworks.xstream.XStream xstream)` Added the aliases contained in the passed-in map to the passed-in XStream object
`protected void` | `addConverters(java.util.List<java.lang.String> converters, com.thoughtworks.xstream.XStream xstream)` Registers the converters contained in the passed in list
`protected java.lang.Object` | `fromXmlToObject(java.lang.String xml, java.lang.Object root)`
`protected java.util.Map<java.lang.String,java.lang.String>` | `getAliases(ConfigTree configTree, java.lang.String childName)` Will extract the alias elements from the passed-in conifgTree
`protected java.util.List<java.lang.String>` | `getConverters(ConfigTree configTree, java.lang.String childName)` Will extract the converter elements from the passed-in conifgTree
`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, getRootNodeName, 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

    protected 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.

### getAliases

    protected java.util.Map<java.lang.String,java.lang.String> getAliases(ConfigTree configTree,
                                                                          java.lang.String childName)

  Will extract the alias elements from the passed-in conifgTree

  Parameters:
    `configTree` - the configuration for this class
  Returns:
    Map either an empty map or a map containing the alias name as its key and the corresponding value is the class to map it to.

### getConverters

    protected java.util.List<java.lang.String> getConverters(ConfigTree configTree,
                                                             java.lang.String childName)

  Will extract the converter elements from the passed-in conifgTree

  Parameters:
    `configTree` - the configuration for this class
  Returns:
    Map either an empty map or a map containing the converter class

### addAliases

    protected void addAliases(java.util.Map<java.lang.String,java.lang.String> aliases,
                              com.thoughtworks.xstream.XStream xstream)
                       throws ActionProcessingException

  Added the aliases contained in the passed-in map to the passed-in XStream object

  Parameters:
    `aliases` - Map of aliases.
  Throws:
    `ActionProcessingException`

### addConverters

    protected void addConverters(java.util.List<java.lang.String> converters,
                                 com.thoughtworks.xstream.XStream xstream)
                          throws ActionProcessingException

  Registers the converters contained in the passed in list

  Parameters:
    `converters` - which should be registered with XStream
    `xstream` -
  Throws:
    `ActionProcessingException`

### addAttributeAliases

    protected void addAttributeAliases(java.util.Map<java.lang.String,java.lang.String> aliases,
                                       com.thoughtworks.xstream.XStream xstream)
                                throws ActionProcessingException

  Added the aliases contained in the passed-in map to the passed-in XStream object

  Parameters:
    `aliases` - Map of aliases.
  Throws:
    `ActionProcessingException`

### fromXmlToObject

    protected java.lang.Object fromXmlToObject(java.lang.String xml,
                                               java.lang.Object root)
                                        throws ActionProcessingException

  Parameters:
    `xml` - the xml String
    `root` - an instance of the type of the root element
  Throws:
    `ActionProcessingException`
    `javax.xml.parsers.ParserConfigurationException`
    `java.io.IOException`
    `org.xml.sax.SAXException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD