org.apache.flume.serialization

## Interface EventDeserializer

- All Superinterfaces:
    AutoCloseable, Closeable, Resettable
  All Known Subinterfaces:
    EventSerDe
  All Known Implementing Classes:
    AvroEventDeserializer, BlobDeserializer, LineDeserializer

      @InterfaceAudience.Public
      @InterfaceStability.Evolving
      public interface EventDeserializer
      extends Resettable, Closeable

  Establishes a contract for reading events stored in arbitrary formats from reliable, resettable streams.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `EventDeserializer.Builder` Knows how to construct this deserializer. Note: Implementations MUST provide a public a no-arg constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Calls `reset()` on the stream and then closes it.
    `void` | `mark()` Marks the underlying input stream, indicating that the events previously returned by this EventDeserializer have been successfully committed.
    `Event` | `readEvent()` Read a single event from the underlying stream.
    `List<Event>` | `readEvents(int numEvents)` Read a batch of events from the underlying stream.
    `void` | `reset()` Resets the underlying input stream to the last known mark (or beginning of the stream if `mark()` was never previously called.

- - ### Method Detail

    - #### readEvent

          Event readEvent()
                          throws IOException

      Read a single event from the underlying stream.
      Returns:
        Deserialized event or `null` if no events could be read.
      Throws:
        `IOException`
      See Also:
        `mark()`, `reset()`

    - #### readEvents

          List<Event> readEvents(int numEvents)
                                 throws IOException

      Read a batch of events from the underlying stream.
      Parameters:
        `numEvents` - Maximum number of events to return.
      Returns:
        List of read events, or empty list if no events could be read.
      Throws:
        `IOException`
      See Also:
        `mark()`, `reset()`

    - #### mark

          void mark()
                    throws IOException

      Marks the underlying input stream, indicating that the events previously returned by this EventDeserializer have been successfully committed.
      Specified by:
        `mark` in interface `Resettable`
      Throws:
        `IOException`
      See Also:
        `reset()`

    - #### reset

          void reset()
                     throws IOException

      Resets the underlying input stream to the last known mark (or beginning of the stream if `mark()` was never previously called. This should be done in the case of inability to commit previously-deserialized events.
      Specified by:
        `reset` in interface `Resettable`
      Throws:
        `IOException`
      See Also:
        `mark()`

    - #### close

          void close()
                     throws IOException

      Calls `reset()` on the stream and then closes it. In the case of successful completion of event consumption, `mark()` MUST be called before `close()`.
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`
      Throws:
        `IOException`
      See Also:
        `mark()`, `reset()`

Copyright © 2009-2016 Apache Software Foundation. All Rights Reserved.