package org.jboss.resteasy.plugins.providers.jaxb;
import com.sun.xml.bind.marshaller.NamespacePrefixMapper;
import javax.xml.bind.annotation.XmlNs;
import java.util.HashMap;
import java.util.Map;
public class XmlNamespacePrefixMapper extends NamespacePrefixMapper
{
private final Map<String, String> namespaceMap = new HashMap<String, String>();
public XmlNamespacePrefixMapper(final XmlNs... namespaces)
{
for (XmlNs namespace : namespaces)
{
namespaceMap.put(namespace.namespaceURI(), namespace.prefix());
}
}
@Override
public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix)
{
String prefix = namespaceMap.get(namespaceUri);
if (prefix != null)
{
return prefix;
}
return suggestion;
}
}