2 * Copyright (c) 2013 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
8 package org.opendaylight.controller.config.api;
11 import javax.management.InstanceNotFoundException;
12 import javax.management.ObjectName;
14 public interface LookupRegistry {
17 * Find all modules. Same Module can be registered multiple times.
21 Set<ObjectName> lookupConfigBeans();
24 * Find modules with given module name.
29 Set<ObjectName> lookupConfigBeans(String moduleName);
35 * exact match for searched module name, can contain '*' to match
38 * exact match for searched instance name, can contain '*' to
42 Set<ObjectName> lookupConfigBeans(String moduleName, String instanceName);
48 * exact match for searched module name, can contain '*' to match
51 * exact match for searched instance name, can contain '*' to
54 * @throws InstanceNotFoundException
55 * if search did not find exactly one instance
57 ObjectName lookupConfigBean(String moduleName, String instanceName)
58 throws InstanceNotFoundException;
61 * Check that object name corresponds with existing module.
63 * @throws InstanceNotFoundException
64 * if search did not find exactly one instance
66 void checkConfigBeanExists(ObjectName objectName) throws InstanceNotFoundException;
70 * @return qNames of all ModuleFactory instances in the system
72 Set<String> getAvailableModuleFactoryQNames();
75 * Find all runtime beans
79 Set<ObjectName> lookupRuntimeBeans();
82 * Find all runtime of specified module
90 Set<ObjectName> lookupRuntimeBeans(String moduleName, String instanceName);