2 * Copyright (c) 2013, 2017 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.
30 Set<ObjectName> lookupConfigBeans(String moduleName);
36 * exact match for searched module name, can contain '*' to match all
39 * exact match for searched instance name, can contain '*' to match
43 Set<ObjectName> lookupConfigBeans(String moduleName, String instanceName);
49 * exact match for searched module name, can contain '*' to match all
52 * exact match for searched instance name, can contain '*' to match
55 * @throws InstanceNotFoundException
56 * if search did not find exactly one instance
58 ObjectName lookupConfigBean(String moduleName, String instanceName) 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;
69 * Get the qNames of all ModuleFactory instances in the system.
71 * @return qNames of all ModuleFactory instances in the system
73 Set<String> getAvailableModuleFactoryQNames();
76 * Find all runtime beans.
80 Set<ObjectName> lookupRuntimeBeans();
83 * Find all runtime of specified module.
91 Set<ObjectName> lookupRuntimeBeans(String moduleName, String instanceName);