2 * Copyright (c) 2014 Cisco 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
9 package org.opendaylight.controller.cluster.datastore;
11 import com.google.common.base.Optional;
12 import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy;
14 import java.util.List;
18 public interface Configuration {
21 * Given a memberName find all the shards that belong on that member and
22 * return the names of those shards
27 List<String> getMemberShardNames(String memberName);
30 * Given a module namespace return the name of a module
34 Optional<String> getModuleNameFromNameSpace(String nameSpace);
37 * Get a mapping of the module names to it's corresponding ShardStrategy
40 Map<String, ShardStrategy> getModuleNameToShardStrategyMap();
43 * Given a module name find all the shardNames corresponding to it
47 List<String> getShardNamesFromModuleName(String moduleName);
50 * Given a shardName find all the members on which it belongs
55 List<String> getMembersFromShardName(String shardName);
61 Set<String> getAllShardNames();