1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.ws.commons.schema.utils;
20
21 import java.util.*;
22
23 public class NamespaceMap extends HashMap implements NamespacePrefixList {
24
25 private static final long serialVersionUID = 1L;
26
27 public NamespaceMap() {
28 }
29
30 public NamespaceMap(Map map) {
31 super(map);
32 }
33
34 public void add(String prefix, String namespaceURI) {
35 put(prefix, namespaceURI);
36 }
37
38 public String[] getDeclaredPrefixes() {
39 Set keys = keySet();
40 return (String[]) keys.toArray(new String[keys.size()]);
41 }
42
43 public String getNamespaceURI(String prefix) {
44 Object o = get(prefix);
45 return o == null ? null : o.toString();
46 }
47
48 public String getPrefix(String namespaceURI) {
49 Iterator iterator = entrySet().iterator();
50 while (iterator.hasNext()) {
51 Map.Entry entry = (Map.Entry) iterator.next();
52 String val = entry.getValue() == null ? null : entry.getValue().toString();
53 if (namespaceURI.equals(val)) {
54 return (String)entry.getKey();
55 }
56 }
57 return null;
58 }
59
60 public Iterator getPrefixes(String namespaceURI) {
61 ArrayList list = new ArrayList();
62 Iterator iterator = entrySet().iterator();
63 while (iterator.hasNext()) {
64 Map.Entry entry = (Map.Entry) iterator.next();
65 String val = entry.getValue() == null ? null : entry.getValue().toString();
66 if (namespaceURI.equals(val)) {
67 list.add(entry.getKey());
68 }
69 }
70 return list.iterator();
71 }
72 }