X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fclient%2Fmessages%2FOnDemandRaftState.java;h=7ded55b3ce91686d93f26d1dafe9f15c2585a1c3;hb=refs%2Fchanges%2F11%2F80211%2F6;hp=0bd85b1e6d19082eb1f86f0c9f272c3bddafec8a;hpb=a8000ee3b6071fa3b83500a39fc60ab3a9c5f085;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/OnDemandRaftState.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/OnDemandRaftState.java index 0bd85b1e6d..7ded55b3ce 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/OnDemandRaftState.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/OnDemandRaftState.java @@ -11,9 +11,10 @@ import com.google.common.collect.ImmutableMap; import java.util.Collections; import java.util.List; import java.util.Map; +import org.eclipse.jdt.annotation.NonNull; /** - * The response to a GetOnDemandRaftState message, + * The response to a GetOnDemandRaftState message. * * @author Thomas Pantelis */ @@ -41,7 +42,7 @@ public class OnDemandRaftState { private Map peerAddresses = Collections.emptyMap(); private Map peerVotingStates = Collections.emptyMap(); - private OnDemandRaftState() { + protected OnDemandRaftState() { } public static Builder builder() { @@ -132,116 +133,131 @@ public class OnDemandRaftState { return customRaftPolicyClassName; } - public static class Builder { - private final OnDemandRaftState stats = new OnDemandRaftState(); + public abstract static class AbstractBuilder, T extends OnDemandRaftState> { + @SuppressWarnings("unchecked") + protected B self() { + return (B) this; + } + + protected abstract @NonNull OnDemandRaftState state(); + + public B lastLogIndex(long value) { + state().lastLogIndex = value; + return self(); + } - public Builder lastLogIndex(long value) { - stats.lastLogIndex = value; - return this; + public B lastLogTerm(long value) { + state().lastLogTerm = value; + return self(); } - public Builder lastLogTerm(long value) { - stats.lastLogTerm = value; - return this; + public B currentTerm(long value) { + state().currentTerm = value; + return self(); } - public Builder currentTerm(long value) { - stats.currentTerm = value; - return this; + public B commitIndex(long value) { + state().commitIndex = value; + return self(); } - public Builder commitIndex(long value) { - stats.commitIndex = value; - return this; + public B lastApplied(long value) { + state().lastApplied = value; + return self(); } - public Builder lastApplied(long value) { - stats.lastApplied = value; - return this; + public B lastIndex(long value) { + state().lastIndex = value; + return self(); } - public Builder lastIndex(long value) { - stats.lastIndex = value; - return this; + public B lastTerm(long value) { + state().lastTerm = value; + return self(); } - public Builder lastTerm(long value) { - stats.lastTerm = value; - return this; + public B snapshotIndex(long value) { + state().snapshotIndex = value; + return self(); } - public Builder snapshotIndex(long value) { - stats.snapshotIndex = value; - return this; + public B snapshotTerm(long value) { + state().snapshotTerm = value; + return self(); } - public Builder snapshotTerm(long value) { - stats.snapshotTerm = value; - return this; + public B replicatedToAllIndex(long value) { + state().replicatedToAllIndex = value; + return self(); } - public Builder replicatedToAllIndex(long value) { - stats.replicatedToAllIndex = value; - return this; + public B inMemoryJournalDataSize(long value) { + state().inMemoryJournalDataSize = value; + return self(); } - public Builder inMemoryJournalDataSize(long value) { - stats.inMemoryJournalDataSize = value; - return this; + public B inMemoryJournalLogSize(long value) { + state().inMemoryJournalLogSize = value; + return self(); } - public Builder inMemoryJournalLogSize(long value) { - stats.inMemoryJournalLogSize = value; - return this; + public B leader(String value) { + state().leader = value; + return self(); } - public Builder leader(String value) { - stats.leader = value; - return this; + public B raftState(String value) { + state().raftState = value; + return self(); } - public Builder raftState(String value) { - stats.raftState = value; - return this; + public B votedFor(String value) { + state().votedFor = value; + return self(); } - public Builder votedFor(String value) { - stats.votedFor = value; - return this; + public B isVoting(boolean isVoting) { + state().isVoting = isVoting; + return self(); } - public Builder isVoting(boolean isVoting) { - stats.isVoting = isVoting; - return this; + public B followerInfoList(List followerInfoList) { + state().followerInfoList = followerInfoList; + return self(); } - public Builder followerInfoList(List followerInfoList) { - stats.followerInfoList = followerInfoList; - return this; + public B peerAddresses(Map peerAddresses) { + state().peerAddresses = peerAddresses; + return self(); } - public Builder peerAddresses(Map peerAddresses) { - stats.peerAddresses = peerAddresses; - return this; + public B peerVotingStates(Map peerVotingStates) { + state().peerVotingStates = ImmutableMap.copyOf(peerVotingStates); + return self(); } - public Builder peerVotingStates(Map peerVotingStates) { - stats.peerVotingStates = ImmutableMap.copyOf(peerVotingStates); - return this; + public B isSnapshotCaptureInitiated(boolean value) { + state().isSnapshotCaptureInitiated = value; + return self(); } - public Builder isSnapshotCaptureInitiated(boolean value) { - stats.isSnapshotCaptureInitiated = value; - return this; + public B customRaftPolicyClassName(String className) { + state().customRaftPolicyClassName = className; + return self(); } - public Builder customRaftPolicyClassName(String className) { - stats.customRaftPolicyClassName = className; - return this; + @SuppressWarnings("unchecked") + public T build() { + return (T) state(); } + } + + public static class Builder extends AbstractBuilder { + private final OnDemandRaftState state = new OnDemandRaftState(); - public OnDemandRaftState build() { - return stats; + @Override + protected OnDemandRaftState state() { + return state; } } }