package org.atomnuke.atom.xml; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.xml.namespace.NamespaceContext; /** * * @author zinic */ public final class AtomNamespaceContext implements NamespaceContext { public static final String XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace"; public static final String ATOM_NAMESPACE = "http://www.w3.org/2005/Atom"; public static final String XML_PREFIX = "xml"; public static final String ATOM_PREFIX = "atom"; private static final AtomNamespaceContext INSTANCE = new AtomNamespaceContext(); public static NamespaceContext instance() { return INSTANCE; } private final Map<String, String> uriToPrefixMap; private final Map<String, String> prefixToUriMap; private AtomNamespaceContext() { uriToPrefixMap = new HashMap<String, String>(); prefixToUriMap = new HashMap<String, String>(); uriToPrefixMap.put(ATOM_NAMESPACE, ATOM_PREFIX); prefixToUriMap.put(ATOM_PREFIX, ATOM_NAMESPACE); uriToPrefixMap.put(XML_NAMESPACE, XML_PREFIX); prefixToUriMap.put(XML_PREFIX, XML_NAMESPACE); } @Override public String getNamespaceURI(String prefix) { return prefixToUriMap.get(prefix); } @Override public String getPrefix(String namespaceURI) { return uriToPrefixMap.get(namespaceURI); } @Override public Iterator getPrefixes(String namespaceURI) { return Collections.EMPTY_LIST.iterator(); } }