* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.controller.cluster.datastore.messages;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
+import java.io.Serializable;
/**
- * The FindPrimary message is used to locate the primary of any given shard
- *
- * TODO : Make this serializable
+ * The FindPrimary message is used to locate the primary of any given shard.
*/
-public class FindPrimary{
- private final String shardName;
-
- public FindPrimary(String shardName){
+public class FindPrimary implements Serializable {
+ private static final long serialVersionUID = 1L;
- Preconditions.checkNotNull(shardName, "shardName should not be null");
+ private final String shardName;
+ private final boolean waitUntilReady;
- this.shardName = shardName;
+ public FindPrimary(final String shardName, final boolean waitUntilReady) {
+ this.shardName = requireNonNull(shardName, "shardName should not be null");
+ this.waitUntilReady = waitUntilReady;
}
public String getShardName() {
return shardName;
}
+
+ public boolean isWaitUntilReady() {
+ return waitUntilReady;
+ }
+
+ @Override
+ public String toString() {
+ return getClass().getName() + " [shardName=" + shardName
+ + ", waitUntilReady=" + waitUntilReady + "]";
+ }
}