package org.openxdm.xcap.common.xml;
import java.util.Iterator;
import java.util.Map;
import javax.xml.*;
public class NamespaceContext implements javax.xml.namespace.NamespaceContext {
private Map<String,String> namespaces;
public NamespaceContext(Map<String,String> namespaces) {
this.namespaces = namespaces;
}
public String getNamespaceURI(String prefix) {
if (prefix == null) {
throw new IllegalArgumentException("Null prefix");
}
else {
String namespace = namespaces.get(prefix);
if (namespace == null) {
return XMLConstants.NULL_NS_URI;
} else {
return namespace;
}
}
}
public String getPrefix(String uri) {
for(Iterator<String> i=namespaces.keySet().iterator();i.hasNext();) {
String prefix = i.next();
if ((namespaces.get(prefix)).equals(uri)) {
return prefix;
}
}
return null;
}
public Iterator<String> getPrefixes(String uri) {
return namespaces.keySet().iterator();
}
}