io.vertx.rxjava.core.parsetools

## Class JsonParser

- java.lang.Object
- - io.vertx.rxjava.core.parsetools.JsonParser

- All Implemented Interfaces:
    Handler<Buffer>, ReadStream<JsonEvent>, StreamBase

      public class JsonParser
      extends Object
      implements ReadStream<JsonEvent>, Handler<Buffer>

  A parser class which allows to incrementally parse json elements and emit json parse events instead of parsing a json element fully. This parser is convenient for parsing large json structures.

  The parser can also parse entire object or array when it is convenient, for instance a very large array of small objects can be parsed efficiently by handling array start/end and object events.

  Whenever the parser fails to parse or process the stream, the `exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>)` is called with the cause of the failure and the current handling stops. After such event, the parser should not handle data anymore.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static TypeArg<JsonParser>` | `__TYPE_ARG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsonParser(JsonParser delegate)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `JsonParser` | `arrayEventMode()` Flip the parser to emit a stream of events for each new json array.
    `JsonParser` | `arrayValueMode()` Flip the parser to emit a single value event for each new json array.
    `void` | `end()` End the stream, this must be called after all the json stream has been processed.
    `JsonParser` | `endHandler(Handler<Void> endHandler)` Set an end handler.
    `boolean` | `equals(Object o)`
    `JsonParser` | `exceptionHandler(Handler<Throwable> handler)` Set an exception handler on the read stream.
    `JsonParser` | `getDelegate()`
    `void` | `handle(Buffer event)` Something has happened, so handle it.
    `JsonParser` | `handler(Handler<JsonEvent> handler)` Set a data handler.
    `int` | `hashCode()`
    `static JsonParser` | `newInstance(JsonParser arg)`
    `static JsonParser` | `newParser()` Create a new `JsonParser` instance.
    `static JsonParser` | `newParser(Observable<Buffer> stream)` Create a new `JsonParser` instance.
    `static JsonParser` | `newParser(ReadStream<Buffer> stream)` Create a new `JsonParser` instance.
    `JsonParser` | `objectEventMode()` Flip the parser to emit a stream of events for each new json object.
    `JsonParser` | `objectValueMode()` Flip the parser to emit a single value event for each new json object.
    `JsonParser` | `pause()` Pause the `ReadSupport`.
    `JsonParser` | `resume()` Resume reading.
    `Observable<JsonEvent>` | `toObservable()`
    `String` | `toString()`
    `JsonParser` | `write(Buffer buffer)` Handle a `Buffer`, pretty much like calling `io.vertx.rxjava.core.Handler#handle`.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface io.vertx.rxjava.core.streams.ReadStream

      `newInstance, newInstance`

    - ### Methods inherited from interface io.vertx.rxjava.core.streams.StreamBase

      `newInstance`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final TypeArg<JsonParser> __TYPE_ARG

  - ### Constructor Detail

    - #### JsonParser

          public JsonParser(JsonParser delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public JsonParser getDelegate()

      Specified by:
        `getDelegate` in interface `ReadStream<JsonEvent>`
      Specified by:
        `getDelegate` in interface `StreamBase`

    - #### toObservable

          public Observable<JsonEvent> toObservable()

      Specified by:
        `toObservable` in interface `ReadStream<JsonEvent>`

    - #### handle

          public void handle(Buffer event)

      Something has happened, so handle it.
      Specified by:
        `handle` in interface `Handler<Buffer>`
      Parameters:
        `event` - the event to handle

    - #### newParser

          public static JsonParser newParser()

      Create a new `JsonParser` instance.
      Returns:

    - #### newParser

          public static JsonParser newParser(ReadStream<Buffer> stream)

      Create a new `JsonParser` instance.
      Parameters:
        `stream` -
      Returns:

    - #### newParser

          public static JsonParser newParser(Observable<Buffer> stream)

      Create a new `JsonParser` instance.
      Parameters:
        `stream` -
      Returns:

    - #### write

          public JsonParser write(Buffer buffer)

      Handle a `Buffer`, pretty much like calling `io.vertx.rxjava.core.Handler#handle`.
      Parameters:
        `buffer` -
      Returns:
        a reference to this, so the API can be used fluently

    - #### end

          public void end()

      End the stream, this must be called after all the json stream has been processed.

    - #### objectEventMode

          public JsonParser objectEventMode()

      Flip the parser to emit a stream of events for each new json object.
      Returns:
        a reference to this, so the API can be used fluently

    - #### objectValueMode

          public JsonParser objectValueMode()

      Flip the parser to emit a single value event for each new json object. Json object currently streamed won't be affected.
      Returns:
        a reference to this, so the API can be used fluently

    - #### arrayEventMode

          public JsonParser arrayEventMode()

      Flip the parser to emit a stream of events for each new json array.
      Returns:
        a reference to this, so the API can be used fluently

    - #### arrayValueMode

          public JsonParser arrayValueMode()

      Flip the parser to emit a single value event for each new json array. Json array currently streamed won't be affected.
      Returns:
        a reference to this, so the API can be used fluently

    - #### pause

          public JsonParser pause()

      Description copied from interface: `ReadStream`
      Pause the `ReadSupport`. While it's paused, no data will be sent to the `dataHandler`
      Specified by:
        `pause` in interface `ReadStream<JsonEvent>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### resume

          public JsonParser resume()

      Description copied from interface: `ReadStream`
      Resume reading. If the `ReadSupport` has been paused, reading will recommence on it.
      Specified by:
        `resume` in interface `ReadStream<JsonEvent>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### endHandler

          public JsonParser endHandler(Handler<Void> endHandler)

      Description copied from interface: `ReadStream`
      Set an end handler. Once the stream has ended, and there is no more data to be read, this handler will be called.
      Specified by:
        `endHandler` in interface `ReadStream<JsonEvent>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### handler

          public JsonParser handler(Handler<JsonEvent> handler)

      Description copied from interface: `ReadStream`
      Set a data handler. As data is read, the handler will be called with the data.
      Specified by:
        `handler` in interface `ReadStream<JsonEvent>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### exceptionHandler

          public JsonParser exceptionHandler(Handler<Throwable> handler)

      Description copied from interface: `ReadStream`
      Set an exception handler on the read stream.
      Specified by:
        `exceptionHandler` in interface `ReadStream<JsonEvent>`
      Specified by:
        `exceptionHandler` in interface `StreamBase`
      Parameters:
        `handler` - the exception handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### newInstance

          public static JsonParser newInstance(JsonParser arg)

Copyright © 2017. All rights reserved.