Class BatchedJsonArraySplitter
java.lang.Object
com.adaptris.core.services.splitter.MessageSplitterImp
com.adaptris.core.services.splitter.json.LargeJsonArraySplitter
com.adaptris.core.services.splitter.json.BatchedJsonArraySplitter
- All Implemented Interfaces:
MessageSplitter
@ComponentProfile(summary="Split a JSON Array into a smaller subset of arrays",
tag="json,splitting")
public class BatchedJsonArraySplitter
extends LargeJsonArraySplitter
Split an arbitrarily large JSON array into smaller batches.
This is a extension to LargeJsonArraySplitter
; each resulting message is still a JSON array, it just
contains slightly fewer elements than the original message.
For instance given the following JSON Array;
[
{"colour": "red","value": "#f00"},
{"colour": "green","value": "#0f0"},
{"colour": "blue","value": "#00f"},
{"colour": "black","value": "#000"}
]
with a batchSize of 2
then we would expect to split messages; each a JSON array containing two elements. e.g. :
[{ "colour": "red", "value": "#f00" }, { "colour": "green", "value": "#0f0"}]
and [{ "colour": "blue","value":
"#00f"}, { "colour": "black", "value": "#000"}]
In the adapter configuration file this class is aliased as batched-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.json.LargeJsonArraySplitter
LargeJsonArraySplitter.GeneratorConfig, LargeJsonArraySplitter.JsonSplitGenerator
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.MessageSplitterImp
logR
-
Constructor Summary
-
Method Summary
Methods inherited from class com.adaptris.core.services.splitter.json.LargeJsonArraySplitter
getBufferSize, setBufferSize, splitMessage
Methods inherited from class com.adaptris.core.services.splitter.MessageSplitterImp
copyMetadata, getCopyMetadata, getCopyObjectMetadata, getMessageFactory, selectFactory, setCopyMetadata, setCopyObjectMetadata, setMessageFactory
-
Constructor Details
-
BatchedJsonArraySplitter
public BatchedJsonArraySplitter()
-
-
Method Details
-
withBufferSize
- Overrides:
withBufferSize
in classLargeJsonArraySplitter
-
withMessageFactory
- Overrides:
withMessageFactory
in classLargeJsonArraySplitter
-
getBatchSize
-
setBatchSize
Set the batch size.- Parameters:
batchSize
- the size, default is 10 if not specified.
-
withBatchSize
-
createSplitter
protected LargeJsonArraySplitter.JsonSplitGenerator createSplitter(LargeJsonArraySplitter.GeneratorConfig cfg) - Overrides:
createSplitter
in classLargeJsonArraySplitter
-