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 com.google.common.base.Preconditions;
11 import javax.annotation.Nonnull;
14 * Server information. This class is not directly Serializable, as it is serialized directly as part of
15 * {@link ServerConfigurationPayload}.
17 * @author Thomas Pantelis
19 public final class ServerInfo {
20 private final String id;
21 private final boolean isVoting;
23 public ServerInfo(@Nonnull String id, boolean isVoting) {
24 this.id = Preconditions.checkNotNull(id);
25 this.isVoting = isVoting;
29 public 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(Object obj) {
51 if (!(obj instanceof ServerInfo)) {
55 final ServerInfo other = (ServerInfo) obj;
56 return isVoting == other.isVoting && id.equals(other.id);
60 public String toString() {
61 return "ServerInfo [id=" + id + ", isVoting=" + isVoting + "]";