import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-import javax.annotation.concurrent.NotThreadSafe;
import org.opendaylight.yangtools.yang.common.QNameModule;
-@NotThreadSafe
+/**
+ * Map-based {@link PrefixToModule} namespace. This class is NOT thread-safe.
+ */
public class PrefixToModuleMap implements PrefixToModule {
private final Map<String, QNameModule> prefixToModuleMap = new HashMap<>();
private final Map<URI, QNameModule> namespaceToModuleMap = new HashMap<>();
- private final boolean preLinkageMap;
-
- public PrefixToModuleMap() {
- this(false);
- }
-
- @Deprecated
- public PrefixToModuleMap(final boolean preLinkageMap) {
- this.preLinkageMap = preLinkageMap;
- }
public void put(final String prefix, final QNameModule module) {
prefixToModuleMap.put(prefix, module);
namespaceToModuleMap.put(module.getNamespace(), module);
}
- @Nullable
@Override
- public QNameModule get(@Nonnull final String prefix) {
+ public QNameModule get(final String prefix) {
return prefixToModuleMap.get(prefix);
}
- @Nullable
@Override
public QNameModule getByNamespace(final String namespace) throws URISyntaxException {
return namespaceToModuleMap.get(new URI(namespace));
}
-
- @Override
- @Deprecated
- public boolean isPreLinkageMap() {
- return preLinkageMap;
- }
}