Initial code drop of yang model driven configuration system
[controller.git] / opendaylight / config / config-api / src / main / java / org / opendaylight / controller / config / api / LookupRegistry.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.controller.config.api;
9
10 import java.util.Set;
11
12 import javax.management.InstanceNotFoundException;
13 import javax.management.ObjectName;
14
15 public interface LookupRegistry {
16
17     /**
18      * Find all modules. Same Module can be registered multiple times.
19      *
20      * @return objectNames
21      */
22     Set<ObjectName> lookupConfigBeans();
23
24     /**
25      * Find modules with given module name.
26      *
27      * @param moduleName
28      * @return objectNames
29      */
30     Set<ObjectName> lookupConfigBeans(String moduleName);
31
32     /**
33      * Find read modules.
34      *
35      * @param moduleName
36      *            exact match for searched module name, can contain '*' to match
37      *            all values.
38      * @param instanceName
39      *            exact match for searched instance name, can contain '*' to
40      *            match all values.
41      * @return objectNames
42      */
43     Set<ObjectName> lookupConfigBeans(String moduleName, String instanceName);
44
45     /**
46      * Find read module.
47      *
48      * @param moduleName
49      *            exact match for searched module name, can contain '*' to match
50      *            all values.
51      * @param instanceName
52      *            exact match for searched instance name, can contain '*' to
53      *            match all values.
54      * @return objectNames
55      * @throws InstanceNotFoundException
56      *             if search did not find exactly one instance
57      */
58     ObjectName lookupConfigBean(String moduleName, String instanceName)
59             throws InstanceNotFoundException;
60
61 }