1 4 package com.nightlabs.ipanema.accounting; 5 6 import java.io.Serializable ; 7 import java.util.HashMap ; 8 import java.util.Map ; 9 10 20 public class MapFieldMetaData 21 extends ProductInfoFieldMetaData 22 implements com.nightlabs.inheritance.MapFieldMetaData, Serializable 23 { 24 25 40 protected Map mapEntryMetaDataMap = new HashMap (); 41 42 protected MapFieldMetaData() { } 43 44 public MapFieldMetaData(ProductInfo productInfo, String fieldName) 45 { 46 super(productInfo, fieldName); 47 } 48 49 52 public com.nightlabs.inheritance.MapEntryMetaData getMapEntryMetaData(Object key) 53 { 54 if (!(key instanceof String )) 55 throw new IllegalArgumentException ("This implementation of MapFieldMetaData supports only String keys!"); 56 57 String skey = (String )key; 58 59 MapEntryMetaData memd = (MapEntryMetaData)mapEntryMetaDataMap.get(skey); 60 if (memd == null) { 61 memd = new MapEntryMetaData(this, skey); 62 mapEntryMetaDataMap.put(skey, memd); 63 } 64 return memd; 65 } 66 67 70 public void removeMapEntryMetaData(Object key) 71 { 72 mapEntryMetaDataMap.remove(key); 73 } 74 } 75 | Popular Tags |