All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.resteasy.plugins.providers.jaxb.XmlNamespacePrefixMapper Maven / Gradle / Ivy

There is a newer version: 7.0.0.Alpha4
Show newest version
package org.jboss.resteasy.plugins.providers.jaxb;

import java.util.HashMap;
import java.util.Map;

import javax.xml.bind.annotation.XmlNs;

import com.sun.xml.bind.marshaller.NamespacePrefixMapper;

/**
 * A XmlNamespacePrefixMapper.
 *
 * @author Ryan J. McDonough
 * @version $Revision:$
 */
public class XmlNamespacePrefixMapper extends NamespacePrefixMapper {

    private final Map namespaceMap = new HashMap();

    /**
     * Create a new XmlNamespecePrefixMapper.
     *
     * @param namespaces xml namespaces
     */
    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;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy