1 15 package org.apache.tapestry.coerce; 16 17 import java.util.Iterator ; 18 import java.util.List ; 19 20 import org.apache.hivemind.lib.util.StrategyRegistry; 21 import org.apache.hivemind.lib.util.StrategyRegistryImpl; 22 23 33 public class TypeConverterWrapper implements TypeConverter 34 { 35 private StrategyRegistry _registry = new StrategyRegistryImpl(); 36 37 private List _contributions; 38 39 private TypeConverter _nullConverter; 40 41 public void initializeService() 42 { 43 Iterator i = _contributions.iterator(); 44 45 while (i.hasNext()) 46 { 47 TypeConverterContribution c = (TypeConverterContribution) i.next(); 48 49 _registry.register(c.getSubjectClass(), c.getConverter()); 50 } 51 } 52 53 public Object convertValue(Object value) 54 { 55 if (value == null) 56 { 57 if (_nullConverter == null) 58 return null; 59 60 return _nullConverter.convertValue(null); 61 } 62 63 TypeConverter delegate = (TypeConverter) _registry.getStrategy(value.getClass()); 64 65 return delegate.convertValue(value); 66 } 67 68 71 72 public void setContributions(List contributions) 73 { 74 _contributions = contributions; 75 } 76 77 80 81 public void setNullConverter(TypeConverter nullConverter) 82 { 83 _nullConverter = nullConverter; 84 } 85 } | Popular Tags |