📄 singlevaluemap.java
字号:
/* * WebWork, Web Application Framework * * Distributable under Apache license. * See terms of license at opensource.org */package webwork.action;import java.io.Serializable;import java.util.*;/** * A Map that can be used to wrap a map whose values are object arrays. * This wrapper will then allow one to access only the first object of those arrays. * * A common usage is to use this wrap the Map received through the ParameterAware interface. * * @see ParameterAware * @author Rickard 謆erg (rickard@middleware-company.com) */public class SingleValueMap implements Map, Serializable{ private Map m; // Backing Map public SingleValueMap(Map m) { if (m == null) throw new NullPointerException(); this.m = m; } public int size() { return m.size(); } public boolean isEmpty() { return m.isEmpty(); } public boolean containsKey(Object key) { return m.containsKey(key); } public boolean containsValue(Object value) { return m.containsValue(value); } public Object get(Object key) { Object[] value = (Object[])m.get(key); return value == null ? null : ((Object[])value)[0]; } public Object put(Object key, Object value) { Object[] val = (Object[])m.put(key, new Object[] { value }); return val == null ? null : ((Object[])val)[0]; } public Object remove(Object key) { Object[] val = (Object[])m.remove(key); return val == null ? null : ((Object[])val)[0]; } public void putAll(Map map) { throw new UnsupportedOperationException(); } public void clear() { m.clear(); } private transient Set keySet = null; private transient Set entrySet = null; private transient Collection values = null; public Set keySet() { return m.keySet(); } public Set entrySet() { //TODO: NYI return m.entrySet(); } public Collection values() { Collection vals = m.values(); Collection realVals = new ArrayList(vals.size()); for (Iterator iterator = vals.iterator(); iterator.hasNext();) { Object o = (Object) iterator.next(); if (o != null) { realVals.add(((Object[])o)[0]); } } return realVals; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -