package io.vertx.reactivex.kafka.client.producer;
import java.util.Map;
import io.reactivex.Observable;
import io.reactivex.Flowable;
import io.reactivex.Single;
import io.reactivex.Completable;
import io.reactivex.Maybe;
import java.util.List;
@io.vertx.lang.rx.RxGen(io.vertx.kafka.client.producer.KafkaProducerRecord.class)
public class KafkaProducerRecord<K,V> {
@Override
public String toString() {
return delegate.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
KafkaProducerRecord that = (KafkaProducerRecord) o;
return delegate.equals(that.delegate);
}
@Override
public int hashCode() {
return delegate.hashCode();
}
public static final io.vertx.lang.rx.TypeArg<KafkaProducerRecord> __TYPE_ARG = new io.vertx.lang.rx.TypeArg<>( obj -> new KafkaProducerRecord((io.vertx.kafka.client.producer.KafkaProducerRecord) obj),
KafkaProducerRecord::getDelegate
);
private final io.vertx.kafka.client.producer.KafkaProducerRecord<K,V> delegate;
public final io.vertx.lang.rx.TypeArg<K> __typeArg_0;
public final io.vertx.lang.rx.TypeArg<V> __typeArg_1;
public KafkaProducerRecord(io.vertx.kafka.client.producer.KafkaProducerRecord delegate) {
this.delegate = delegate;
this.__typeArg_0 = io.vertx.lang.rx.TypeArg.unknown(); this.__typeArg_1 = io.vertx.lang.rx.TypeArg.unknown(); }
public KafkaProducerRecord(io.vertx.kafka.client.producer.KafkaProducerRecord delegate, io.vertx.lang.rx.TypeArg<K> typeArg_0, io.vertx.lang.rx.TypeArg<V> typeArg_1) {
this.delegate = delegate;
this.__typeArg_0 = typeArg_0;
this.__typeArg_1 = typeArg_1;
}
public io.vertx.kafka.client.producer.KafkaProducerRecord getDelegate() {
return delegate;
}
public static <K, V> io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> create(String topic, K key, V value, Long timestamp, Integer partition) {
io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> ret = io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord.newInstance(io.vertx.kafka.client.producer.KafkaProducerRecord.create(topic, key, value, timestamp, partition), io.vertx.lang.rx.TypeArg.unknown(), io.vertx.lang.rx.TypeArg.unknown());
return ret;
}
public static <K, V> io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> create(String topic, K key, V value) {
io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> ret = io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord.newInstance(io.vertx.kafka.client.producer.KafkaProducerRecord.create(topic, key, value), io.vertx.lang.rx.TypeArg.unknown(), io.vertx.lang.rx.TypeArg.unknown());
return ret;
}
public static <K, V> io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> create(String topic, V value) {
io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> ret = io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord.newInstance(io.vertx.kafka.client.producer.KafkaProducerRecord.create(topic, value), io.vertx.lang.rx.TypeArg.unknown(), io.vertx.lang.rx.TypeArg.unknown());
return ret;
}
public String topic() {
String ret = delegate.topic();
return ret;
}
public K key() {
K ret = (K)__typeArg_0.wrap(delegate.key());
return ret;
}
public V value() {
V ret = (V)__typeArg_1.wrap(delegate.value());
return ret;
}
public Long timestamp() {
Long ret = delegate.timestamp();
return ret;
}
public Integer partition() {
Integer ret = delegate.partition();
return ret;
}
public io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> (String key, String value) {
delegate.addHeader(key, value);
return this;
}
public io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> (String key, io.vertx.reactivex.core.buffer.Buffer value) {
delegate.addHeader(key, value.getDelegate());
return this;
}
public io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> (io.vertx.reactivex.kafka.client.producer.KafkaHeader header) {
delegate.addHeader(header.getDelegate());
return this;
}
public io.vertx.reactivex.kafka.client.producer.KafkaProducerRecord<K, V> (List<io.vertx.reactivex.kafka.client.producer.KafkaHeader> headers) {
delegate.addHeaders(headers.stream().map(elt -> elt.getDelegate()).collect(java.util.stream.Collectors.toList()));
return this;
}
public List<io.vertx.reactivex.kafka.client.producer.KafkaHeader> () {
if (cached_0 != null) {
return cached_0;
}
List<io.vertx.reactivex.kafka.client.producer.KafkaHeader> ret = delegate.headers().stream().map(elt -> io.vertx.reactivex.kafka.client.producer.KafkaHeader.newInstance(elt)).collect(java.util.stream.Collectors.toList());
cached_0 = ret;
return ret;
}
private List<io.vertx.reactivex.kafka.client.producer.KafkaHeader> cached_0;
public static <K,V>KafkaProducerRecord<K,V> newInstance(io.vertx.kafka.client.producer.KafkaProducerRecord arg) {
return arg != null ? new KafkaProducerRecord<K,V>(arg) : null;
}
public static <K,V>KafkaProducerRecord<K,V> newInstance(io.vertx.kafka.client.producer.KafkaProducerRecord arg, io.vertx.lang.rx.TypeArg<K> __typeArg_K, io.vertx.lang.rx.TypeArg<V> __typeArg_V) {
return arg != null ? new KafkaProducerRecord<K,V>(arg, __typeArg_K, __typeArg_V) : null;
}
}