1 4 package com.nightlabs.ipanema.store; 5 6 import java.io.Serializable ; 7 import java.util.HashMap ; 8 import java.util.Map ; 9 10 20 public class MapFieldMetaData 21 extends ProductFieldMetaData 22 implements com.nightlabs.inheritance.MapFieldMetaData, Serializable 23 { 24 39 protected Map mapEntryMetaDataMap = new HashMap (); 40 41 protected MapFieldMetaData() { } 42 43 47 public MapFieldMetaData(Product product, String fieldName) 48 { 49 super(product, fieldName); 50 } 51 52 55 public com.nightlabs.inheritance.MapEntryMetaData getMapEntryMetaData(Object key) 56 { 57 if (!(key instanceof String )) 58 throw new IllegalArgumentException ("This implementation of MapFieldMetaData supports only String keys!"); 59 60 String skey = (String )key; 61 62 MapEntryMetaData memd = (MapEntryMetaData)mapEntryMetaDataMap.get(skey); 63 if (memd == null) { 64 memd = new MapEntryMetaData(this, skey); 65 mapEntryMetaDataMap.put(skey, memd); 66 } 67 return memd; 68 } 69 70 73 public void removeMapEntryMetaData(Object key) 74 { 75 mapEntryMetaDataMap.remove(key); 76 } 77 78 } 79 | Popular Tags |