868a5d859196ba7c5b681271e44e19fb645a79c9
[controller.git] / opendaylight / config / config-manager-facade-xml / src / main / java / org / opendaylight / controller / config / facade / xml / osgi / YangStoreContext.java
1 /*
2  * Copyright (c) 2015, 2017 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.facade.xml.osgi;
9
10 import java.util.Map;
11 import java.util.Set;
12 import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
13 import org.opendaylight.yangtools.yang.common.QName;
14 import org.opendaylight.yangtools.yang.model.api.Module;
15 import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier;
16
17 public interface YangStoreContext {
18
19     /**
20      * Yang store context.
21      *
22      * @deprecated Use {@link #getQNamesToIdentitiesToModuleMXBeanEntries()}
23      *             instead. This method return only one module representation even
24      *             if multiple revisions are available.
25      */
26     @Deprecated
27     Map<String/* Namespace from yang file */,
28         Map<String /* Name of module entry from yang file */,
29         ModuleMXBeanEntry>> getModuleMXBeanEntryMap();
30
31     Map<QName, Map<String /* identity local name */, ModuleMXBeanEntry>> getQNamesToIdentitiesToModuleMXBeanEntries();
32
33     /**
34      * Get all modules discovered when this snapshot was created.
35      *
36      * @return all modules discovered. If one module exists with two different
37      *         revisions, return both.
38      */
39     Set<Module> getModules();
40
41     String getModuleSource(ModuleIdentifier moduleIdentifier);
42
43     EnumResolver getEnumResolver();
44 }