java/dictionary-generator/src/cz/frantovo/telco/dictionary/MappedNamespaceContext.java
author František Kučera <franta-hg@frantovo.cz>
Mon, 22 Jun 2020 21:59:38 +0200
changeset 151 a9f1ba451247
parent 47 b87ea854d920
permissions -rw-r--r--
fix license version: GNU GPLv3, GNU FDLv1.3
     1 /**
     2  * Free Telco Dictionary
     3  * Copyright © 2013 František Kučera (frantovo.cz)
     4  *
     5  * This program is free software: you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation, version 3 of the License.
     8  *
     9  * This program is distributed in the hope that it will be useful,
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  * GNU General Public License for more details.
    13  *
    14  * You should have received a copy of the GNU General Public License
    15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
    16  */
    17 package cz.frantovo.telco.dictionary;
    18 
    19 import static cz.frantovo.telco.dictionary.Functions.*;
    20 import java.util.Iterator;
    21 import java.util.Map;
    22 import java.util.Map.Entry;
    23 import javax.xml.namespace.NamespaceContext;
    24 
    25 /**
    26  *
    27  * @author Ing. František Kučera (frantovo.cz)
    28  */
    29 public class MappedNamespaceContext implements NamespaceContext {
    30 
    31 	/**
    32 	 * maps prexix to namespace URI
    33 	 */
    34 	private Map<String, String> prefixMap;
    35 
    36 	public MappedNamespaceContext(Map<String, String> prefixMap) {
    37 		this.prefixMap = prefixMap;
    38 	}
    39 
    40 	@Override
    41 	public String getNamespaceURI(String prefix) {
    42 		return prefixMap.get(prefix);
    43 	}
    44 
    45 	@Override
    46 	public String getPrefix(String xmlns) {
    47 		for (Entry<String, String> e : prefixMap.entrySet()) {
    48 			if (equalz(xmlns, e.getValue())) {
    49 				return e.getKey();
    50 			}
    51 		}
    52 		return null;
    53 	}
    54 
    55 	@Override
    56 	public Iterator<String> getPrefixes(String xmlns) {
    57 		return getKeysForValue(prefixMap, xmlns).iterator();
    58 	}
    59 }