org.apache.ignite.stream

## Class StreamAdapter<T,K,V>

- java.lang.Object
- - org.apache.ignite.stream.StreamAdapter<T,K,V>

Direct Known Subclasses:
  SocketStreamer

    public abstract class StreamAdapter<T,K,V>
    extends Object

Convenience adapter for streamers. Adapters are optional components for streaming from different data sources. The purpose of adapters is to convert different message formats into Ignite stream key-value tuples and feed the tuples into the provided `IgniteDataStreamer`.

Two types of tuple extractors are supported:

1. A single tuple extractor, which extracts either no or 1 tuple out of a message. See see `setTupleExtractor(StreamTupleExtractor)`.
2. A multiple tuple extractor, which is capable of extracting multiple tuples out of a single message, in the form of a `Map`. See `setMultipleTupleExtractor(StreamMultipleTupleExtractor)`.

### Field Summary

Fields
`protected Ignite` `ignite` Ignite.

### Constructor Summary

Constructors
`protected` `StreamAdapter()` Empty constructor.
`protected` `StreamAdapter(IgniteDataStreamer<K,V> stmr, StreamMultipleTupleExtractor<T,K,V> extractor)` Stream adapter.
`protected` `StreamAdapter(IgniteDataStreamer<K,V> stmr, StreamSingleTupleExtractor<T,K,V> extractor)` Stream adapter.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected void` `addMessage(T msg)` Converts given message to 1 or many tuples (depending on the type of extractor) and adds it/them to the underlying streamer.
`Ignite` `getIgnite()`
`StreamMultipleTupleExtractor<T,K,V>` `getMultipleTupleExtractor()`
`StreamSingleTupleExtractor<T,K,V>` `getSingleTupleExtractor()`
`IgniteDataStreamer<K,V>` `getStreamer()`
`StreamTupleExtractor<T,K,V>` `getTupleExtractor()` Deprecated.
`void` `setIgnite(Ignite ignite)`
`void` `setMultipleTupleExtractor(StreamMultipleTupleExtractor<T,K,V> multipleTupleExtractor)`
`void` `setSingleTupleExtractor(StreamSingleTupleExtractor<T,K,V> singleTupleExtractor)`
`void` `setStreamer(IgniteDataStreamer<K,V> stmr)`
`void` `setTupleExtractor(StreamTupleExtractor<T,K,V> extractor)` Deprecated.

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

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

### Field Detail

#### ignite

    protected Ignite ignite

Ignite.

### Constructor Detail

#### StreamAdapter

    protected StreamAdapter()

Empty constructor.

#### StreamAdapter

    protected StreamAdapter(IgniteDataStreamer<K,V> stmr,
                            StreamSingleTupleExtractor<T,K,V> extractor)

Stream adapter.

Parameters:
  `stmr` - Streamer.
  `extractor` - Tuple extractor (1:1).

#### StreamAdapter

    protected StreamAdapter(IgniteDataStreamer<K,V> stmr,
                            StreamMultipleTupleExtractor<T,K,V> extractor)

Stream adapter.

Parameters:
  `stmr` - Streamer.
  `extractor` - Tuple extractor (1:n).

### Method Detail

#### getStreamer

    public IgniteDataStreamer<K,V> getStreamer()

Returns:
  Provided data streamer.

#### setStreamer

    public void setStreamer(IgniteDataStreamer<K,V> stmr)

Parameters:
  `stmr` - Ignite data streamer.

#### getTupleExtractor

    @Deprecated
    public StreamTupleExtractor<T,K,V> getTupleExtractor()

Deprecated.

Returns:
  Provided tuple extractor.
See Also:
  `getSingleTupleExtractor()`

#### setTupleExtractor

    @Deprecated
    public void setTupleExtractor(StreamTupleExtractor<T,K,V> extractor)

Deprecated.

Parameters:
  `extractor` - Extractor for a single key-value tuple from the message.
See Also:
  `setSingleTupleExtractor(StreamSingleTupleExtractor)`

#### getSingleTupleExtractor

    public StreamSingleTupleExtractor<T,K,V> getSingleTupleExtractor()

Returns:
  Provided single tuple extractor.

#### setSingleTupleExtractor

    public void setSingleTupleExtractor(StreamSingleTupleExtractor<T,K,V> singleTupleExtractor)

Parameters:
  `singleTupleExtractor` - Extractor for key-value tuples from messages.

#### getMultipleTupleExtractor

    public StreamMultipleTupleExtractor<T,K,V> getMultipleTupleExtractor()

Returns:
  Provided tuple extractor (for 1:n cardinality).

#### setMultipleTupleExtractor

    public void setMultipleTupleExtractor(StreamMultipleTupleExtractor<T,K,V> multipleTupleExtractor)

Parameters:
  `multipleTupleExtractor` - Extractor for 1:n tuple extraction.

#### getIgnite

    public Ignite getIgnite()

Returns:
  Provided `Ignite` instance.

#### setIgnite

    public void setIgnite(Ignite ignite)

Parameters:
  `ignite` - `Ignite` instance.

#### addMessage

    protected void addMessage(T msg)

Converts given message to 1 or many tuples (depending on the type of extractor) and adds it/them to the underlying streamer.

Parameters:
  `msg` - Message to convert.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.12.0
Release Date | : January 10 2022