Class JsonArraySplitter
- java.lang.Object
-
- com.adaptris.core.services.splitter.MessageSplitterImp
-
- com.adaptris.core.services.splitter.json.JsonObjectSplitter
-
- com.adaptris.core.services.splitter.json.JsonArraySplitter
-
- All Implemented Interfaces:
MessageSplitter
@ComponentProfile(summary="Split a JSON Array into individual JSON objects", tag="json,splitting") public class JsonArraySplitter extends JsonObjectSplitter
Message splitter implementation that splits a JSON array so that each element forms a new message.If the message cannot be parsed as JSON then an exception will be thrown; If the message is a JSON object but not a JSON array, then the original message is returned. Note that because it operates on the entire payload, size of message considerations may be in order.
For instance the JSON array
[{colour: "red",value: "#f00"},{colour: "green",value: "#0f0"},{colour: "blue",value: "#00f"},{colour: "black",value: "#000"}]
would be split into 4 messages whereas{"colours" : [{colour: "red",value: "#f00"},{colour: "green",value: "#0f0"},{colour: "blue",value: "#00f"},{colour: "black",value: "#000"}] }
would remain a single message.In the adapter configuration file this class is aliased as json-array-splitter which is the preferred alternative to the fully qualified classname when building your configuration.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.adaptris.core.services.splitter.MessageSplitterImp
MessageSplitterImp.SplitMessageIterator
-
-
Field Summary
-
Fields inherited from class com.adaptris.core.services.splitter.json.JsonObjectSplitter
LOGGER
-
Fields inherited from class com.adaptris.core.services.splitter.MessageSplitterImp
logR
-
-
Constructor Summary
Constructors Constructor Description JsonArraySplitter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<AdaptrisMessage>
splitMessage(AdaptrisMessage message)
Split an JSON array message.-
Methods inherited from class com.adaptris.core.services.splitter.json.JsonObjectSplitter
createSplitMessage, splitMessage
-
Methods inherited from class com.adaptris.core.services.splitter.MessageSplitterImp
copyMetadata, getCopyMetadata, getCopyObjectMetadata, getMessageFactory, selectFactory, setCopyMetadata, setCopyObjectMetadata, setMessageFactory
-
-
-
-
Method Detail
-
splitMessage
public java.util.List<AdaptrisMessage> splitMessage(AdaptrisMessage message) throws CoreException
Split an JSON array message. Split a JSON payload from an Adaptris message. ..- Specified by:
splitMessage
in interfaceMessageSplitter
- Overrides:
splitMessage
in classJsonObjectSplitter
- Parameters:
message
- The Adaptris message.- Returns:
- A list of Adaptris messages for each JSON object in array.
- Throws:
CoreException
-
-