| 1 19 package org.openharmonise.vfs.metadata; 20 21 import java.util.Collection ; 22 import java.util.HashMap ; 23 import java.util.Set ; 24 25 34 public class ResourceLookup { 35 36 39 HashMap m_qnameLookup = null; 40 41 44 HashMap m_hrefLookup = null; 45 46 49 HashMap m_qname2href = null; 50 51 54 HashMap m_href2qname = null; 55 56 61 public ResourceLookup(int nInitialSize) { 62 super(); 63 m_qnameLookup = new HashMap (nInitialSize); 64 m_hrefLookup = new HashMap (nInitialSize); 65 m_qname2href = new HashMap (nInitialSize); 66 m_href2qname = new HashMap (nInitialSize); 67 } 68 69 76 public void put(String sQName, String sHREF, Object obj) { 77 this.m_qnameLookup.put(sQName, obj); 78 this.m_hrefLookup.put(sHREF, obj); 79 this.m_qname2href.put(sQName, sHREF); 80 this.m_href2qname.put(sHREF, sQName); 81 } 82 83 89 public String getQName(String sHref) { 90 return (String ) this.m_href2qname.get(sHref); 91 } 92 93 99 public String getHref(String sQName) { 100 return (String ) this.m_qname2href.get(sQName); 101 } 102 103 109 public Object getByQName(String sQName) { 110 return this.m_qnameLookup.get(sQName); 111 } 112 113 119 public Object getByHREF(String sHREF) { 120 return this.m_hrefLookup.get(sHREF); 121 } 122 123 128 public void removeByQName(String sQName) { 129 Object obj = this.m_qnameLookup.get(sQName); 130 if(obj!=null) { 131 this.m_qnameLookup.remove(obj); 132 this.m_hrefLookup.remove(obj); 133 } 134 } 135 136 141 public void removeByHREF(String sHREF) { 142 Object obj = this.m_hrefLookup.get(sHREF); 143 if(obj!=null) { 144 Object objcheck = this.m_hrefLookup.remove(sHREF); 145 if(objcheck==null) { 146 System.err.println("Object removal for href[" + sHREF + "] is null!!! " + this.m_hrefLookup.keySet()); 147 } 148 objcheck = this.m_qnameLookup.remove(((Property)obj).getNamespace()+"#"+((Property)obj).getName()); 149 if(objcheck==null) { 150 System.err.println("Object removal for href[" + ((Property)obj).getNamespace()+"#"+((Property)obj).getName() + "] is null!!! " + this.m_qnameLookup.keySet()); 151 } 152 } 153 } 154 155 160 public void remove(Object obj) { 161 this.m_qnameLookup.remove(obj); 162 this.m_hrefLookup.remove(obj); 163 } 164 165 170 public Collection getValues() { 171 return this.m_hrefLookup.values(); 172 } 173 174 179 public Set getQNameKeySet() { 180 return this.m_qnameLookup.keySet(); 181 } 182 183 188 public Set getHREFKeySet() { 189 return this.m_hrefLookup.keySet(); 190 } 191 192 } 193 | Popular Tags |