org.apache.kafka.clients.admin.ForwardingAdmin Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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 org.apache.kafka.clients.admin;
import org.apache.kafka.clients.consumer.OffsetAndMetadata;
import org.apache.kafka.common.ElectionType;
import org.apache.kafka.common.Metric;
import org.apache.kafka.common.MetricName;
import org.apache.kafka.common.TopicCollection;
import org.apache.kafka.common.TopicPartition;
import org.apache.kafka.common.TopicPartitionReplica;
import org.apache.kafka.common.Uuid;
import org.apache.kafka.common.acl.AclBinding;
import org.apache.kafka.common.acl.AclBindingFilter;
import org.apache.kafka.common.config.ConfigResource;
import org.apache.kafka.common.quota.ClientQuotaAlteration;
import org.apache.kafka.common.quota.ClientQuotaFilter;
import java.time.Duration;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
/**
* {@code ForwardingAdmin} is the default value of {@code forwarding.admin.class} in MirrorMaker.
* Users who wish to customize the MirrorMaker behaviour for the creation of topics and access control lists can extend this
* class without needing to provide a whole implementation of {@code Admin}.
* The class must have a constructor with signature {@code (Map config)} for configuring
* a decorated {@link KafkaAdminClient} and any other clients needed for external resource management.
*/
public class ForwardingAdmin implements Admin {
private final Admin delegate;
public ForwardingAdmin(Map configs) {
this.delegate = Admin.create(configs);
}
@Override
public void close(Duration timeout) {
delegate.close(timeout);
}
@Override
public CreateTopicsResult createTopics(Collection newTopics, CreateTopicsOptions options) {
return delegate.createTopics(newTopics, options);
}
@Override
public DeleteTopicsResult deleteTopics(TopicCollection topics, DeleteTopicsOptions options) {
return delegate.deleteTopics(topics, options);
}
@Override
public ListTopicsResult listTopics(ListTopicsOptions options) {
return delegate.listTopics(options);
}
@Override
public DescribeTopicsResult describeTopics(TopicCollection topics, DescribeTopicsOptions options) {
return delegate.describeTopics(topics, options);
}
@Override
public DescribeClusterResult describeCluster(DescribeClusterOptions options) {
return delegate.describeCluster(options);
}
@Override
public DescribeAclsResult describeAcls(AclBindingFilter filter, DescribeAclsOptions options) {
return delegate.describeAcls(filter, options);
}
@Override
public CreateAclsResult createAcls(Collection acls, CreateAclsOptions options) {
return delegate.createAcls(acls, options);
}
@Override
public DeleteAclsResult deleteAcls(Collection filters, DeleteAclsOptions options) {
return delegate.deleteAcls(filters, options);
}
@Override
public DescribeConfigsResult describeConfigs(Collection resources, DescribeConfigsOptions options) {
return delegate.describeConfigs(resources, options);
}
@Deprecated
@Override
public AlterConfigsResult alterConfigs(Map configs, AlterConfigsOptions options) {
return delegate.alterConfigs(configs, options);
}
@Override
public AlterConfigsResult incrementalAlterConfigs(Map> configs, AlterConfigsOptions options) {
return delegate.incrementalAlterConfigs(configs, options);
}
@Override
public AlterReplicaLogDirsResult alterReplicaLogDirs(Map replicaAssignment, AlterReplicaLogDirsOptions options) {
return delegate.alterReplicaLogDirs(replicaAssignment, options);
}
@Override
public DescribeLogDirsResult describeLogDirs(Collection brokers, DescribeLogDirsOptions options) {
return delegate.describeLogDirs(brokers, options);
}
@Override
public DescribeReplicaLogDirsResult describeReplicaLogDirs(Collection replicas, DescribeReplicaLogDirsOptions options) {
return delegate.describeReplicaLogDirs(replicas, options);
}
@Override
public CreatePartitionsResult createPartitions(Map newPartitions, CreatePartitionsOptions options) {
return delegate.createPartitions(newPartitions, options);
}
@Override
public DeleteRecordsResult deleteRecords(Map recordsToDelete, DeleteRecordsOptions options) {
return delegate.deleteRecords(recordsToDelete, options);
}
@Override
public CreateDelegationTokenResult createDelegationToken(CreateDelegationTokenOptions options) {
return delegate.createDelegationToken(options);
}
@Override
public RenewDelegationTokenResult renewDelegationToken(byte[] hmac, RenewDelegationTokenOptions options) {
return delegate.renewDelegationToken(hmac, options);
}
@Override
public ExpireDelegationTokenResult expireDelegationToken(byte[] hmac, ExpireDelegationTokenOptions options) {
return delegate.expireDelegationToken(hmac, options);
}
@Override
public DescribeDelegationTokenResult describeDelegationToken(DescribeDelegationTokenOptions options) {
return delegate.describeDelegationToken(options);
}
@Override
public DescribeConsumerGroupsResult describeConsumerGroups(Collection groupIds, DescribeConsumerGroupsOptions options) {
return delegate.describeConsumerGroups(groupIds, options);
}
@Override
public ListConsumerGroupsResult listConsumerGroups(ListConsumerGroupsOptions options) {
return delegate.listConsumerGroups(options);
}
@Override
public ListConsumerGroupOffsetsResult listConsumerGroupOffsets(Map groupSpecs, ListConsumerGroupOffsetsOptions options) {
return delegate.listConsumerGroupOffsets(groupSpecs, options);
}
@Override
public DeleteConsumerGroupsResult deleteConsumerGroups(Collection groupIds, DeleteConsumerGroupsOptions options) {
return delegate.deleteConsumerGroups(groupIds, options);
}
@Override
public DeleteConsumerGroupOffsetsResult deleteConsumerGroupOffsets(String groupId, Set partitions, DeleteConsumerGroupOffsetsOptions options) {
return delegate.deleteConsumerGroupOffsets(groupId, partitions, options);
}
@Override
public ElectLeadersResult electLeaders(ElectionType electionType, Set partitions, ElectLeadersOptions options) {
return delegate.electLeaders(electionType, partitions, options);
}
@Override
public AlterPartitionReassignmentsResult alterPartitionReassignments(Map> reassignments, AlterPartitionReassignmentsOptions options) {
return delegate.alterPartitionReassignments(reassignments, options);
}
@Override
public ListPartitionReassignmentsResult listPartitionReassignments(Optional> partitions, ListPartitionReassignmentsOptions options) {
return delegate.listPartitionReassignments(partitions, options);
}
@Override
public RemoveMembersFromConsumerGroupResult removeMembersFromConsumerGroup(String groupId, RemoveMembersFromConsumerGroupOptions options) {
return delegate.removeMembersFromConsumerGroup(groupId, options);
}
@Override
public AlterConsumerGroupOffsetsResult alterConsumerGroupOffsets(String groupId, Map offsets, AlterConsumerGroupOffsetsOptions options) {
return delegate.alterConsumerGroupOffsets(groupId, offsets, options);
}
@Override
public ListOffsetsResult listOffsets(Map topicPartitionOffsets, ListOffsetsOptions options) {
return delegate.listOffsets(topicPartitionOffsets, options);
}
@Override
public DescribeClientQuotasResult describeClientQuotas(ClientQuotaFilter filter, DescribeClientQuotasOptions options) {
return delegate.describeClientQuotas(filter, options);
}
@Override
public AlterClientQuotasResult alterClientQuotas(Collection entries, AlterClientQuotasOptions options) {
return delegate.alterClientQuotas(entries, options);
}
@Override
public DescribeUserScramCredentialsResult describeUserScramCredentials(List users, DescribeUserScramCredentialsOptions options) {
return delegate.describeUserScramCredentials(users, options);
}
@Override
public AlterUserScramCredentialsResult alterUserScramCredentials(List alterations, AlterUserScramCredentialsOptions options) {
return delegate.alterUserScramCredentials(alterations, options);
}
@Override
public DescribeFeaturesResult describeFeatures(DescribeFeaturesOptions options) {
return delegate.describeFeatures(options);
}
@Override
public UpdateFeaturesResult updateFeatures(Map featureUpdates, UpdateFeaturesOptions options) {
return delegate.updateFeatures(featureUpdates, options);
}
@Override
public DescribeMetadataQuorumResult describeMetadataQuorum(DescribeMetadataQuorumOptions options) {
return delegate.describeMetadataQuorum(options);
}
@Override
public UnregisterBrokerResult unregisterBroker(int brokerId, UnregisterBrokerOptions options) {
return delegate.unregisterBroker(brokerId, options);
}
@Override
public DescribeProducersResult describeProducers(Collection partitions, DescribeProducersOptions options) {
return delegate.describeProducers(partitions, options);
}
@Override
public DescribeTransactionsResult describeTransactions(Collection transactionalIds, DescribeTransactionsOptions options) {
return delegate.describeTransactions(transactionalIds, options);
}
@Override
public AbortTransactionResult abortTransaction(AbortTransactionSpec spec, AbortTransactionOptions options) {
return delegate.abortTransaction(spec, options);
}
@Override
public ListTransactionsResult listTransactions(ListTransactionsOptions options) {
return delegate.listTransactions(options);
}
@Override
public FenceProducersResult fenceProducers(Collection transactionalIds, FenceProducersOptions options) {
return delegate.fenceProducers(transactionalIds, options);
}
@Override
public ListClientMetricsResourcesResult listClientMetricsResources(ListClientMetricsResourcesOptions options) {
return delegate.listClientMetricsResources(options);
}
@Override
public Uuid clientInstanceId(Duration timeout) {
return delegate.clientInstanceId(timeout);
}
@Override
public Map metrics() {
return delegate.metrics();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy