Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* 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.pulsar.client.impl;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.sql.Time;
import java.sql.Timestamp;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;
import java.util.Map;
import java.util.function.Supplier;
import org.apache.pulsar.client.api.Authentication;
import org.apache.pulsar.client.api.BatcherBuilder;
import org.apache.pulsar.client.api.ClientBuilder;
import org.apache.pulsar.client.api.MessageId;
import org.apache.pulsar.client.api.MessageIdAdv;
import org.apache.pulsar.client.api.MessagePayloadFactory;
import org.apache.pulsar.client.api.PulsarClientException;
import org.apache.pulsar.client.api.Schema;
import org.apache.pulsar.client.api.TopicMessageId;
import org.apache.pulsar.client.api.schema.GenericRecord;
import org.apache.pulsar.client.api.schema.GenericSchema;
import org.apache.pulsar.client.api.schema.RecordSchemaBuilder;
import org.apache.pulsar.client.api.schema.SchemaDefinition;
import org.apache.pulsar.client.api.schema.SchemaDefinitionBuilder;
import org.apache.pulsar.client.impl.auth.AuthenticationTls;
import org.apache.pulsar.client.impl.auth.AuthenticationToken;
import org.apache.pulsar.client.impl.schema.AutoConsumeSchema;
import org.apache.pulsar.client.impl.schema.AutoProduceBytesSchema;
import org.apache.pulsar.client.impl.schema.AvroSchema;
import org.apache.pulsar.client.impl.schema.BooleanSchema;
import org.apache.pulsar.client.impl.schema.ByteBufferSchema;
import org.apache.pulsar.client.impl.schema.ByteSchema;
import org.apache.pulsar.client.impl.schema.BytesSchema;
import org.apache.pulsar.client.impl.schema.DateSchema;
import org.apache.pulsar.client.impl.schema.DoubleSchema;
import org.apache.pulsar.client.impl.schema.FloatSchema;
import org.apache.pulsar.client.impl.schema.InstantSchema;
import org.apache.pulsar.client.impl.schema.IntSchema;
import org.apache.pulsar.client.impl.schema.JSONSchema;
import org.apache.pulsar.client.impl.schema.KeyValueSchemaImpl;
import org.apache.pulsar.client.impl.schema.KeyValueSchemaInfo;
import org.apache.pulsar.client.impl.schema.LocalDateSchema;
import org.apache.pulsar.client.impl.schema.LocalDateTimeSchema;
import org.apache.pulsar.client.impl.schema.LocalTimeSchema;
import org.apache.pulsar.client.impl.schema.LongSchema;
import org.apache.pulsar.client.impl.schema.NativeAvroBytesSchema;
import org.apache.pulsar.client.impl.schema.ProtobufNativeSchema;
import org.apache.pulsar.client.impl.schema.ProtobufSchema;
import org.apache.pulsar.client.impl.schema.RecordSchemaBuilderImpl;
import org.apache.pulsar.client.impl.schema.SchemaDefinitionBuilderImpl;
import org.apache.pulsar.client.impl.schema.SchemaInfoImpl;
import org.apache.pulsar.client.impl.schema.SchemaUtils;
import org.apache.pulsar.client.impl.schema.ShortSchema;
import org.apache.pulsar.client.impl.schema.StringSchema;
import org.apache.pulsar.client.impl.schema.TimeSchema;
import org.apache.pulsar.client.impl.schema.TimestampSchema;
import org.apache.pulsar.client.impl.schema.generic.GenericProtobufNativeSchema;
import org.apache.pulsar.client.impl.schema.generic.GenericSchemaImpl;
import org.apache.pulsar.client.internal.PulsarClientImplementationBinding;
import org.apache.pulsar.common.schema.KeyValue;
import org.apache.pulsar.common.schema.KeyValueEncodingType;
import org.apache.pulsar.common.schema.SchemaInfo;
import org.apache.pulsar.common.schema.SchemaInfoWithVersion;
import org.apache.pulsar.common.schema.SchemaType;
/**
* Helper class for class instantiations and it also contains methods to work with schemas.
*/
@SuppressWarnings("unchecked")
public final class PulsarClientImplementationBindingImpl implements PulsarClientImplementationBinding {
public SchemaDefinitionBuilder newSchemaDefinitionBuilder() {
return new SchemaDefinitionBuilderImpl();
}
public ClientBuilder newClientBuilder() {
return new ClientBuilderImpl();
}
public MessageId newMessageId(long ledgerId, long entryId, int partitionIndex) {
return new MessageIdImpl(ledgerId, entryId, partitionIndex);
}
public MessageId newMessageIdFromByteArray(byte[] data) throws IOException {
return MessageIdImpl.fromByteArray(data);
}
public MessageId newMessageIdFromByteArrayWithTopic(byte[] data, String topicName) throws IOException {
return MessageIdImpl.fromByteArrayWithTopic(data, topicName);
}
public Authentication newAuthenticationToken(String token) {
return new AuthenticationToken(token);
}
public Authentication newAuthenticationToken(Supplier supplier) {
return new AuthenticationToken(supplier);
}
public Authentication newAuthenticationTLS(String certFilePath, String keyFilePath) {
return new AuthenticationTls(certFilePath, keyFilePath);
}
public Authentication createAuthentication(String authPluginClassName, String authParamsString)
throws PulsarClientException.UnsupportedAuthenticationException {
return AuthenticationUtil.create(authPluginClassName, authParamsString);
}
public Authentication createAuthentication(String authPluginClassName, Map authParams)
throws PulsarClientException.UnsupportedAuthenticationException {
return AuthenticationUtil.create(authPluginClassName, authParams);
}
public Schema newBytesSchema() {
return new BytesSchema();
}
public Schema newStringSchema() {
return new StringSchema();
}
public Schema newStringSchema(Charset charset) {
return new StringSchema(charset);
}
public Schema newByteSchema() {
return new ByteSchema();
}
public Schema newShortSchema() {
return new ShortSchema();
}
public Schema newIntSchema() {
return new IntSchema();
}
public Schema newLongSchema() {
return new LongSchema();
}
public Schema newBooleanSchema() {
return new BooleanSchema();
}
public Schema newByteBufferSchema() {
return new ByteBufferSchema();
}
public Schema newFloatSchema() {
return new FloatSchema();
}
public Schema newDoubleSchema() {
return new DoubleSchema();
}
public Schema newDateSchema() {
return DateSchema.of();
}
public Schema