Split out TransactionContext classes
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / shardstrategy / DefaultShardStrategy.java
index 55c682b86000187e10e2376b3f69e94a87772d73..6a3de4256b0b968345b8c01764f15146923e0f9a 100644 (file)
@@ -16,13 +16,21 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
  *   The default shard stores data for all modules for which a specific set of shards has not been configured
  * </p>
  */
-public class DefaultShardStrategy implements ShardStrategy{
+public final class DefaultShardStrategy implements ShardStrategy {
+    public static final String NAME = "default";
+    public static final String DEFAULT_SHARD = "default";
+    private static final DefaultShardStrategy INSTANCE = new DefaultShardStrategy();
 
-  public static final String NAME = "default";
-  public static final String DEFAULT_SHARD = "default";
+    private DefaultShardStrategy() {
+        // Hidden to force a singleton instnace
+    }
 
-  @Override
-  public String findShard(YangInstanceIdentifier path) {
-    return DEFAULT_SHARD;
-  }
+    public static DefaultShardStrategy getInstance() {
+        return INSTANCE;
+    }
+
+    @Override
+    public String findShard(YangInstanceIdentifier path) {
+        return DEFAULT_SHARD;
+    }
 }