/*
 * Copyright 2014 Red Hat, Inc.
 *
 * Red Hat licenses this file to you under the Apache License, version 2.0
 * (the "License"); you may not use this file except in compliance with the
 * License.  You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package io.vertx.rxjava.kafka.admin;

import rx.Observable;
import rx.Single;
import io.vertx.rx.java.RxHelper;
import io.vertx.rx.java.WriteStreamSubscriber;
import io.vertx.rx.java.SingleOnSubscribeAdapter;
import java.util.Map;
import java.util.Set;
import java.util.List;
import java.util.Iterator;
import java.util.function.Function;
import java.util.stream.Collectors;
import io.vertx.core.Handler;
import io.vertx.core.AsyncResult;
import io.vertx.core.json.JsonObject;
import io.vertx.core.json.JsonArray;
import io.vertx.lang.rx.RxGen;
import io.vertx.lang.rx.TypeArg;
import io.vertx.lang.rx.MappingIterator;

Vert.x Kafka Admin client implementation

NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.
/** * Vert.x Kafka Admin client implementation * * <p/> * NOTE: This class has been automatically generated from the {@link io.vertx.kafka.admin.KafkaAdminClient original} non RX-ified interface using Vert.x codegen. */
@RxGen(io.vertx.kafka.admin.KafkaAdminClient.class) public class KafkaAdminClient { @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; KafkaAdminClient that = (KafkaAdminClient) o; return delegate.equals(that.delegate); } @Override public int hashCode() { return delegate.hashCode(); } public static final TypeArg<KafkaAdminClient> __TYPE_ARG = new TypeArg<>( obj -> new KafkaAdminClient((io.vertx.kafka.admin.KafkaAdminClient) obj), KafkaAdminClient::getDelegate ); private final io.vertx.kafka.admin.KafkaAdminClient delegate; public KafkaAdminClient(io.vertx.kafka.admin.KafkaAdminClient delegate) { this.delegate = delegate; } public KafkaAdminClient(Object delegate) { this.delegate = (io.vertx.kafka.admin.KafkaAdminClient)delegate; } public io.vertx.kafka.admin.KafkaAdminClient getDelegate() { return delegate; }
Create a new KafkaAdminClient instance
Params:
  • vertx – Vert.x instance to use
  • config – Kafka admin client configuration
Returns:an instance of the KafkaAdminClient
/** * Create a new KafkaAdminClient instance * @param vertx Vert.x instance to use * @param config Kafka admin client configuration * @return an instance of the KafkaAdminClient */
public static io.vertx.rxjava.kafka.admin.KafkaAdminClient create(io.vertx.rxjava.core.Vertx vertx, java.util.Map<String, String> config) { io.vertx.rxjava.kafka.admin.KafkaAdminClient ret = io.vertx.rxjava.kafka.admin.KafkaAdminClient.newInstance((io.vertx.kafka.admin.KafkaAdminClient)io.vertx.kafka.admin.KafkaAdminClient.create(vertx.getDelegate(), config)); return ret; }
List the topics available in the cluster with the default options.
Params:
  • completionHandler – handler called on operation completed with the topics set
/** * List the topics available in the cluster with the default options. * @param completionHandler handler called on operation completed with the topics set */
public void listTopics(Handler<AsyncResult<Set<String>>> completionHandler) { delegate.listTopics(completionHandler); }
List the topics available in the cluster with the default options.
/** * List the topics available in the cluster with the default options. */
public void listTopics() { listTopics(ar -> { }); }
List the topics available in the cluster with the default options.
Returns:
/** * List the topics available in the cluster with the default options. * @return */
public Single<Set<String>> rxListTopics() { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { listTopics(fut); })); }
Describe some topics in the cluster, with the default options.
Params:
  • topicNames – the names of the topics to describe
  • completionHandler – handler called on operation completed with the topics descriptions
/** * Describe some topics in the cluster, with the default options. * @param topicNames the names of the topics to describe * @param completionHandler handler called on operation completed with the topics descriptions */
public void describeTopics(List<String> topicNames, Handler<AsyncResult<java.util.Map<String, io.vertx.kafka.admin.TopicDescription>>> completionHandler) { delegate.describeTopics(topicNames, completionHandler); }
Describe some topics in the cluster, with the default options.
Params:
  • topicNames – the names of the topics to describe
/** * Describe some topics in the cluster, with the default options. * @param topicNames the names of the topics to describe */
public void describeTopics(List<String> topicNames) { describeTopics(topicNames, ar -> { }); }
Describe some topics in the cluster, with the default options.
Params:
  • topicNames – the names of the topics to describe
Returns:
/** * Describe some topics in the cluster, with the default options. * @param topicNames the names of the topics to describe * @return */
public Single<java.util.Map<String, io.vertx.kafka.admin.TopicDescription>> rxDescribeTopics(List<String> topicNames) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { describeTopics(topicNames, fut); })); }
Creates a batch of new Kafka topics
Params:
  • topics – topics to create
  • completionHandler – handler called on operation completed
/** * Creates a batch of new Kafka topics * @param topics topics to create * @param completionHandler handler called on operation completed */
public void createTopics(List<io.vertx.kafka.admin.NewTopic> topics, Handler<AsyncResult<Void>> completionHandler) { delegate.createTopics(topics, completionHandler); }
Creates a batch of new Kafka topics
Params:
  • topics – topics to create
/** * Creates a batch of new Kafka topics * @param topics topics to create */
public void createTopics(List<io.vertx.kafka.admin.NewTopic> topics) { createTopics(topics, ar -> { }); }
Creates a batch of new Kafka topics
Params:
  • topics – topics to create
Returns:
/** * Creates a batch of new Kafka topics * @param topics topics to create * @return */
public Single<Void> rxCreateTopics(List<io.vertx.kafka.admin.NewTopic> topics) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { createTopics(topics, fut); })); }
Deletes a batch of Kafka topics
Params:
  • topicNames – the names of the topics to delete
  • completionHandler – handler called on operation completed
/** * Deletes a batch of Kafka topics * @param topicNames the names of the topics to delete * @param completionHandler handler called on operation completed */
public void deleteTopics(List<String> topicNames, Handler<AsyncResult<Void>> completionHandler) { delegate.deleteTopics(topicNames, completionHandler); }
Deletes a batch of Kafka topics
Params:
  • topicNames – the names of the topics to delete
/** * Deletes a batch of Kafka topics * @param topicNames the names of the topics to delete */
public void deleteTopics(List<String> topicNames) { deleteTopics(topicNames, ar -> { }); }
Deletes a batch of Kafka topics
Params:
  • topicNames – the names of the topics to delete
Returns:
/** * Deletes a batch of Kafka topics * @param topicNames the names of the topics to delete * @return */
public Single<Void> rxDeleteTopics(List<String> topicNames) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { deleteTopics(topicNames, fut); })); }
Get the the consumer groups available in the cluster with the default options
Params:
  • completionHandler – handler called on operation completed with the consumer groups ids
/** * Get the the consumer groups available in the cluster with the default options * @param completionHandler handler called on operation completed with the consumer groups ids */
public void listConsumerGroups(Handler<AsyncResult<List<io.vertx.kafka.admin.ConsumerGroupListing>>> completionHandler) { delegate.listConsumerGroups(completionHandler); }
Get the the consumer groups available in the cluster with the default options
/** * Get the the consumer groups available in the cluster with the default options */
public void listConsumerGroups() { listConsumerGroups(ar -> { }); }
Get the the consumer groups available in the cluster with the default options
Returns:
/** * Get the the consumer groups available in the cluster with the default options * @return */
public Single<List<io.vertx.kafka.admin.ConsumerGroupListing>> rxListConsumerGroups() { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { listConsumerGroups(fut); })); }
Describe some group ids in the cluster, with the default options
Params:
  • groupIds – the ids of the groups to describe
  • completionHandler – handler called on operation completed with the consumer groups descriptions
/** * Describe some group ids in the cluster, with the default options * @param groupIds the ids of the groups to describe * @param completionHandler handler called on operation completed with the consumer groups descriptions */
public void describeConsumerGroups(List<String> groupIds, Handler<AsyncResult<java.util.Map<String, io.vertx.kafka.admin.ConsumerGroupDescription>>> completionHandler) { delegate.describeConsumerGroups(groupIds, completionHandler); }
Describe some group ids in the cluster, with the default options
Params:
  • groupIds – the ids of the groups to describe
/** * Describe some group ids in the cluster, with the default options * @param groupIds the ids of the groups to describe */
public void describeConsumerGroups(List<String> groupIds) { describeConsumerGroups(groupIds, ar -> { }); }
Describe some group ids in the cluster, with the default options
Params:
  • groupIds – the ids of the groups to describe
Returns:
/** * Describe some group ids in the cluster, with the default options * @param groupIds the ids of the groups to describe * @return */
public Single<java.util.Map<String, io.vertx.kafka.admin.ConsumerGroupDescription>> rxDescribeConsumerGroups(List<String> groupIds) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { describeConsumerGroups(groupIds, fut); })); }
Describe the nodes in the cluster with the default options
Params:
  • completionHandler – handler called on operation completed with the cluster description
/** * Describe the nodes in the cluster with the default options * @param completionHandler handler called on operation completed with the cluster description */
public void describeCluster(Handler<AsyncResult<io.vertx.kafka.admin.ClusterDescription>> completionHandler) { delegate.describeCluster(completionHandler); }
Describe the nodes in the cluster with the default options
/** * Describe the nodes in the cluster with the default options */
public void describeCluster() { describeCluster(ar -> { }); }
Describe the nodes in the cluster with the default options
Returns:
/** * Describe the nodes in the cluster with the default options * @return */
public Single<io.vertx.kafka.admin.ClusterDescription> rxDescribeCluster() { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { describeCluster(fut); })); }
Delete consumer groups from the cluster.
Params:
  • groupIds – the ids of the groups to delete
  • completionHandler – handler called on operation completed
/** * Delete consumer groups from the cluster. * @param groupIds the ids of the groups to delete * @param completionHandler handler called on operation completed */
public void deleteConsumerGroups(List<String> groupIds, Handler<AsyncResult<Void>> completionHandler) { delegate.deleteConsumerGroups(groupIds, completionHandler); }
Delete consumer groups from the cluster.
Params:
  • groupIds – the ids of the groups to delete
/** * Delete consumer groups from the cluster. * @param groupIds the ids of the groups to delete */
public void deleteConsumerGroups(List<String> groupIds) { deleteConsumerGroups(groupIds, ar -> { }); }
Delete consumer groups from the cluster.
Params:
  • groupIds – the ids of the groups to delete
Returns:
/** * Delete consumer groups from the cluster. * @param groupIds the ids of the groups to delete * @return */
public Single<Void> rxDeleteConsumerGroups(List<String> groupIds) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { deleteConsumerGroups(groupIds, fut); })); }
Delete committed offsets for a set of partitions in a consumer group. This will succeed at the partition level only if the group is not actively subscribed to the corresponding topic.
Params:
  • groupId – The group id of the group whose offsets will be listed
  • partitions – The set of partitions in the consumer group whose offsets will be deleted
  • completionHandler –
/** * Delete committed offsets for a set of partitions in a consumer group. This will * succeed at the partition level only if the group is not actively subscribed * to the corresponding topic. * @param groupId The group id of the group whose offsets will be listed * @param partitions The set of partitions in the consumer group whose offsets will be deleted * @param completionHandler */
public void deleteConsumerGroupOffsets(String groupId, Set<io.vertx.kafka.client.common.TopicPartition> partitions, Handler<AsyncResult<Void>> completionHandler) { delegate.deleteConsumerGroupOffsets(groupId, partitions, completionHandler); }
Delete committed offsets for a set of partitions in a consumer group. This will succeed at the partition level only if the group is not actively subscribed to the corresponding topic.
Params:
  • groupId – The group id of the group whose offsets will be listed
  • partitions – The set of partitions in the consumer group whose offsets will be deleted
/** * Delete committed offsets for a set of partitions in a consumer group. This will * succeed at the partition level only if the group is not actively subscribed * to the corresponding topic. * @param groupId The group id of the group whose offsets will be listed * @param partitions The set of partitions in the consumer group whose offsets will be deleted */
public void deleteConsumerGroupOffsets(String groupId, Set<io.vertx.kafka.client.common.TopicPartition> partitions) { deleteConsumerGroupOffsets(groupId, partitions, ar -> { }); }
Delete committed offsets for a set of partitions in a consumer group. This will succeed at the partition level only if the group is not actively subscribed to the corresponding topic.
Params:
  • groupId – The group id of the group whose offsets will be listed
  • partitions – The set of partitions in the consumer group whose offsets will be deleted
Returns:
/** * Delete committed offsets for a set of partitions in a consumer group. This will * succeed at the partition level only if the group is not actively subscribed * to the corresponding topic. * @param groupId The group id of the group whose offsets will be listed * @param partitions The set of partitions in the consumer group whose offsets will be deleted * @return */
public Single<Void> rxDeleteConsumerGroupOffsets(String groupId, Set<io.vertx.kafka.client.common.TopicPartition> partitions) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { deleteConsumerGroupOffsets(groupId, partitions, fut); })); }
Close the admin client
Params:
  • handler – a Handler completed with the operation result
/** * Close the admin client * @param handler a <code>Handler</code> completed with the operation result */
public void close(Handler<AsyncResult<Void>> handler) { delegate.close(handler); }
Close the admin client
/** * Close the admin client */
public void close() { close(ar -> { }); }
Close the admin client
Returns:
/** * Close the admin client * @return */
public Single<Void> rxClose() { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { close(fut); })); }
Close the admin client
Params:
  • timeout – timeout to wait for closing
  • handler – a Handler completed with the operation result
/** * Close the admin client * @param timeout timeout to wait for closing * @param handler a <code>Handler</code> completed with the operation result */
public void close(long timeout, Handler<AsyncResult<Void>> handler) { delegate.close(timeout, handler); }
Close the admin client
Params:
  • timeout – timeout to wait for closing
/** * Close the admin client * @param timeout timeout to wait for closing */
public void close(long timeout) { close(timeout, ar -> { }); }
Close the admin client
Params:
  • timeout – timeout to wait for closing
Returns:
/** * Close the admin client * @param timeout timeout to wait for closing * @return */
public Single<Void> rxClose(long timeout) { return Single.create(new SingleOnSubscribeAdapter<>(fut -> { close(timeout, fut); })); } public static KafkaAdminClient newInstance(io.vertx.kafka.admin.KafkaAdminClient arg) { return arg != null ? new KafkaAdminClient(arg) : null; } }