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.Nonnull;
15 import javax.annotation.Nullable;
16 import org.opendaylight.yangtools.yang.common.QNameModule;
18 public class PrefixToModuleMap implements PrefixToModule {
20 private Map<String, QNameModule> prefixToModuleMap = new HashMap<>();
21 private Map<URI, QNameModule> namespaceToModuleMap = new HashMap<>();
22 private final boolean preLinkageMap;
24 public PrefixToModuleMap() {
28 public PrefixToModuleMap(boolean preLinkageMap) {
29 this.preLinkageMap = preLinkageMap;
32 public void put(String prefix, QNameModule qNameModule) {
33 prefixToModuleMap.put(prefix, qNameModule);
34 namespaceToModuleMap.put(qNameModule.getNamespace(), qNameModule);
39 public QNameModule get(@Nonnull String prefix) {
40 return prefixToModuleMap.get(prefix);
45 public QNameModule getByNamespace(String namespace) throws URISyntaxException {
46 return namespaceToModuleMap.get(new URI(namespace));
50 public boolean isPreLinkageMap() {