2  * ============LICENSE_START====================================
 
   3  * DCAEGEN2-SERVICES-SDK
 
   4  * =========================================================
 
   5  * Copyright (C) 2019 Nokia. All rights reserved.
 
   6  * =========================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *       http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ============LICENSE_END=====================================
 
  21 package org.onap.dcaegen2.services.sdk.rest.services.cbs.client.impl.streams.gson.kafka;
 
  23 import java.util.Objects;
 
  24 import org.jetbrains.annotations.NotNull;
 
  25 import org.jetbrains.annotations.Nullable;
 
  26 import org.onap.dcaegen2.services.sdk.model.streams.AafCredentials;
 
  27 import org.onap.dcaegen2.services.sdk.model.streams.dmaap.Kafka;
 
  30  * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a>
 
  33 abstract class GsonKafka implements Kafka {
 
  35     private final String name;
 
  36     final KafkaInfo kafkaInfo;
 
  37     private final AafCredentials aafCredentials;
 
  41             @NotNull KafkaInfo kafkaInfo,
 
  42             @Nullable AafCredentials aafCredentials) {
 
  43         this.name = Objects.requireNonNull(name, "name");
 
  44         this.kafkaInfo = Objects.requireNonNull(kafkaInfo, "kafkaInfo");
 
  45         this.aafCredentials = aafCredentials;
 
  48     public String name() {
 
  53     public String bootstrapServers() {
 
  54         return kafkaInfo.bootstrapServers();
 
  58     public String topicName() {
 
  59         return kafkaInfo.topicName();
 
  63     public @Nullable AafCredentials aafCredentials() {
 
  64         return aafCredentials;
 
  68     public @Nullable String clientRole() {
 
  69         return kafkaInfo.clientRole();
 
  73     public @Nullable String clientId() {
 
  74         return kafkaInfo.clientId();
 
  78     public int maxPayloadSizeBytes() {
 
  79         return kafkaInfo.maxPayloadSizeBytes();
 
  83     public boolean equals(Object o) {
 
  87         if (o == null || getClass() != o.getClass()) {
 
  90         GsonKafka gsonKafka = (GsonKafka) o;
 
  91         return kafkaInfo.equals(gsonKafka.kafkaInfo) &&
 
  92                 Objects.equals(aafCredentials, gsonKafka.aafCredentials);
 
  96     public int hashCode() {
 
  97         return Objects.hash(kafkaInfo, aafCredentials);