@Override public void putAll(Map<? extends String, ? extends String> m) { for( Entry<?, ?> entry : m.entrySet() ) { StringKeyStringValueEntry newEntry = new StringKeyStringValueEntry((String)entry.getKey(), (String)entry.getValue()); entries.add(newEntry); } }
@Override public boolean containsValue(Object value) { if( value == null ) { return false; } for( StringKeyStringValueEntry entry : entries ) { Object entryVal = entry.getValue(); if( value.equals(entryVal) ) { return true; } } return false; }
@Override public boolean containsKey(Object key) { if( key == null ) { return false; } for( StringKeyStringValueEntry entry : entries ) { if( key.equals(entry.getKey())) { return true; } } return false; }
@Override public String put(String key, String value) { String oldVal = get(key); StringKeyStringValueEntry newEntry = new StringKeyStringValueEntry(key, value); entries.add(newEntry); return oldVal; }
@Override public Collection<String> values() { List<String> values = new ArrayList<String>(); for( StringKeyStringValueEntry entry : entries ) { values.add(entry.getValue()); } return values; }
@Override public Set<String> keySet() { Set<String> keySet = new HashSet<String>(); for( StringKeyStringValueEntry entry : entries ) { keySet.add(entry.getKey()); } return keySet; }
@Override public Map<String, String> unmarshal(StringKeyStringValueMap xmlMap) { if( xmlMap == null ) { return null; } Map<String, String> map = new HashMap<String, String>(); for( StringKeyStringValueEntry xmlEntry : xmlMap.entries ) { String key = xmlEntry.getKey(); String value = xmlEntry.getValue(); map.put(key, value); } return map; } }
@Override public StringKeyStringValueMap marshal(Map<String, String> map) throws Exception { if( map == null ) { return null; } StringKeyStringValueMap xmlMap = new StringKeyStringValueMap(); for(Entry<String, String> entry : map.entrySet()) { String value = entry.getValue(); String key = entry.getKey(); StringKeyStringValueEntry xmlEntry = new StringKeyStringValueEntry(key, value); xmlMap.addEntry(xmlEntry); } return xmlMap; }
@Override public String remove(Object key) { Iterator<StringKeyStringValueEntry> iter = entries.iterator(); while( iter.hasNext() ) { StringKeyStringValueEntry entry = iter.next(); String entryKey = entry.getKey(); if( key.equals(entryKey) ) { iter.remove(); return entry.getValue(); } } return null; }
@Override public Set<java.util.Map.Entry<String, String>> entrySet() { Set<java.util.Map.Entry<String, String>> entrySet = new HashSet<Map.Entry<String,String>>(); for( StringKeyStringValueEntry entry : entries ) { String newVal = entry.getValue(); String key = entry.getKey(); Entry<String, String> newEntry = new EntryImpl(key, newVal); entrySet.add(newEntry); } return entrySet; }