BUG-5280: use MemberName instead of String
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / config / ShardConfig.java
index 0eb02aa2f8c2f33daadb7c762472912eeaafde45..59240a0dbb971d7b07985d8f5ae21b349a6ba01a 100644 (file)
@@ -7,25 +7,32 @@
  */
 package org.opendaylight.controller.cluster.datastore.config;
 
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableSet;
+import java.util.Collection;
 import java.util.Set;
+import javax.annotation.Nonnull;
+import org.opendaylight.controller.cluster.access.concepts.MemberName;
 
 /**
  * Encapsulated configuration for a shard.
  */
 public class ShardConfig {
     private final String name;
-    private final Set<String> replicas;
+    private final Set<MemberName> replicas;
 
-    public ShardConfig(final String name, final Set<String> replicas) {
-        this.name = name;
-        this.replicas = replicas;
+    public ShardConfig(@Nonnull final String name, @Nonnull final Collection<MemberName> replicas) {
+        this.name = Preconditions.checkNotNull(name);
+        this.replicas = ImmutableSet.copyOf(Preconditions.checkNotNull(replicas));
     }
 
+    @Nonnull
     public String getName() {
         return name;
     }
 
-    public Set<String> getReplicas() {
+    @Nonnull
+    public Set<MemberName> getReplicas() {
         return replicas;
     }
 }
\ No newline at end of file