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 and Description
    `AutoArrayTarget(JsonStreamTarget delegate)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### AutoArrayTarget

          public AutoArrayTarget(JsonStreamTarget delegate)

  - ### Method Detail

    - #### name

          public void name(String name)
                    throws IOException

      Description copied from interface: `JsonStreamTarget`
      Write name.
      Specified by:
        `name` in interface `JsonStreamTarget`
      Throws:
        `IOException`

    - #### value

          public void value(Object value)
                     throws IOException

      Description copied from interface: `JsonStreamTarget`
      Write value.
      Specified by:
        `value` in interface `JsonStreamTarget`
      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 `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Throws:
        `IOException`

    - #### flush

          public void flush()
                     throws IOException

      Specified by:
        `flush` in interface `Flushable`
      Throws:
        `IOException`

Copyright © 2005–2019 Apache Software Foundation. All rights reserved.