2 * Copyright (c) 2015 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.yangtools.yang.parser.spi.source;
11 import java.net.URISyntaxException;
12 import java.util.HashMap;
14 import javax.annotation.Nullable;
15 import org.opendaylight.yangtools.yang.common.QNameModule;
17 public class PrefixToModuleMap implements PrefixToModule {
19 private Map<String, QNameModule> prefixToModuleMap = new HashMap<>();
20 private Map<URI, QNameModule> namespaceToModuleMap = new HashMap<>();
21 private final boolean preLinkageMap;
23 public PrefixToModuleMap() {
27 public PrefixToModuleMap(boolean preLinkageMap) {
28 this.preLinkageMap = preLinkageMap;
31 public void put(String prefix, QNameModule qNameModule) {
32 prefixToModuleMap.put(prefix, qNameModule);
33 namespaceToModuleMap.put(qNameModule.getNamespace(), qNameModule);
38 public QNameModule get(String prefix) {
39 return prefixToModuleMap.get(prefix);
44 public QNameModule getByNamespace(String namespace) throws URISyntaxException {
45 return namespaceToModuleMap.get(new URI(namespace));
49 public boolean isPreLinkageMap() {