1 package org.sapia.regis.util; 2 3 import java.io.Serializable ; 4 import java.util.ArrayList ; 5 import java.util.HashMap ; 6 import java.util.List ; 7 import java.util.Map ; 8 9 public class CompositeHashMap extends HashMap 10 implements Serializable { 11 12 static final long serialVersionUID = 1L; 13 14 private List _children = new ArrayList (); 15 16 public CompositeHashMap(){} 17 18 public CompositeHashMap addChild(Map child){ 19 _children.add(0, child); 20 return this; 21 } 22 23 public CompositeHashMap addAncestor(Map ancestor){ 24 _children.add(ancestor); 25 return this; 26 } 27 28 public Object get(Object name){ 29 Object value = super.get(name); 30 if(value != null){ 31 return value; 32 } 33 for(int i = 0; i < _children.size(); i++){ 34 Map child = (Map )_children.get(i); 35 value = child.get(name); 36 if(value != null) return value; 37 } 38 return super.get(name); 39 } 40 41 } 42 | Popular Tags |