Package org.apache.synapse.commons.staxon.core.json.stream.util

# Class AutoArrayTarget

java.lang.Object
org.apache.synapse.commons.staxon.core.json.stream.util.AutoArrayTarget

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`, `JsonStreamTarget`

public class AutoArrayTarget extends Object implements JsonStreamTarget
Target filter to auto-insert array boundaries.

Note: this class caches all events and flushes to the underlying target after receiving the last close-object event, which may cause memory issues for large documents. Also, auto-recognition of array boundaries never creates arrays with a single element.

It is recommended to handle array boundaries via the `JsonXMLStreamWriter.writeStartArray(String)` and `JsonXMLStreamWriter.writeEndArray()` methods or by producing `<?xml-muliple ...?>` processing instructions.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AutoArrayTarget(JsonStreamTarget delegate)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `endArray()`
  End array.
  `void`
  `endObject()`
  End object.
  `void`
  `flush()`
  `void`
  `name(String name)`
  Write name.
  `void`
  `startArray()`
  Start array.
  `void`
  `startObject()`
  Start object
  `void`
  `value(Object value)`
  Write value.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AutoArrayTarget

    public AutoArrayTarget(JsonStreamTarget delegate)

- ## Method Details

  - ### name

    public void name(String name) throws IOException
    Description copied from interface: `JsonStreamTarget`
    Write name.
    Specified by:
      `name` in interface `JsonStreamTarget`
    Parameters:
      `name` -
    Throws:
      `IOException`

  - ### value

    public void value(Object value) throws IOException
    Description copied from interface: `JsonStreamTarget`
    Write value.
    Specified by:
      `value` in interface `JsonStreamTarget`
    Parameters:
      `value` -
    Throws:
      `IOException`

  - ### startObject

    public void startObject() throws IOException
    Description copied from interface: `JsonStreamTarget`
    Start object
    Specified by:
      `startObject` in interface `JsonStreamTarget`
    Throws:
      `IOException`

  - ### endObject

    public void endObject() throws IOException
    Description copied from interface: `JsonStreamTarget`
    End object.
    Specified by:
      `endObject` in interface `JsonStreamTarget`
    Throws:
      `IOException`

  - ### startArray

    public void startArray() throws IOException
    Description copied from interface: `JsonStreamTarget`
    Start array.
    Specified by:
      `startArray` in interface `JsonStreamTarget`
    Throws:
      `IOException`

  - ### endArray

    public void endArray() throws IOException
    Description copied from interface: `JsonStreamTarget`
    End array.
    Specified by:
      `endArray` in interface `JsonStreamTarget`
    Throws:
      `IOException`

  - ### close

    public void close() throws IOException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Throws:
      `IOException`

  - ### flush

    public void flush() throws IOException
    Specified by:
      `flush` in interface `Flushable`
    Throws:
      `IOException`