2 * Copyright (c) 2015 Brocade Communications Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.cluster.raft.persisted;
10 import static java.util.Objects.requireNonNull;
12 import org.eclipse.jdt.annotation.NonNull;
15 * Server information. This class is not directly Serializable, as it is serialized directly as part of
16 * {@link ServerConfigurationPayload}.
18 * @author Thomas Pantelis
20 public final class ServerInfo {
21 private final @NonNull String id;
22 private final boolean isVoting;
24 public ServerInfo(final @NonNull String id, final boolean isVoting) {
25 this.id = requireNonNull(id);
26 this.isVoting = isVoting;
29 public @NonNull String getId() {
33 public boolean isVoting() {
38 public int hashCode() {
41 result = prime * result + Boolean.hashCode(isVoting);
42 result = prime * result + id.hashCode();
47 public boolean equals(final Object obj) {
48 return this == obj || obj instanceof ServerInfo other && isVoting == other.isVoting && id.equals(other.id);
52 public String toString() {
53 return "ServerInfo [id=" + id + ", isVoting=" + isVoting + "]";