/* * Copyright 2016-present Open Networking Laboratory * * Licensed 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.onosproject.kafkaintegration.api.dto; import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkNotNull; import java.util.Objects; import java.util.UUID; /** * Wrapper Object for storing the consumer group id. Group ids are used by * external applications when consuming events from Kafka server. * */ public final class EventSubscriberGroupId { private final UUID id; /** * Creates a new Subscriber Group Id. * * @param uuid representing the group id. */ public EventSubscriberGroupId(UUID uuid) { id = checkNotNull(uuid); } /** * Returns the Group Id of the subscriber. * * @return uuid representing the group id. */ public UUID getId() { return id; } @Override public boolean equals(Object o) { if (o instanceof EventSubscriberGroupId) { EventSubscriberGroupId sub = (EventSubscriberGroupId) o; if (sub.id.equals(id)) { return true; } } return false; } @Override public int hashCode() { return Objects.hash(id); } @Override public String toString() { return toStringHelper(this).add("subscriberGroupId", id).toString(); } }