001    package org.picocontainer.converters;
002    
003    import org.picocontainer.converters.Converter;
004    
005    import java.lang.reflect.Constructor;
006    import java.lang.reflect.InvocationTargetException;
007    
008    /**
009     * Converts a value to an object via its single-String constructor.
010     */
011    public class NewInstanceConverter implements Converter<Object> {
012        private Constructor<?> c;
013    
014        public NewInstanceConverter(Class<?> clazz) {
015            try {
016                c = clazz.getConstructor(String.class);
017            } catch (NoSuchMethodException e) {
018            }
019        }
020        public Object convert(String paramValue) {
021            if ( c == null ){
022                return null;
023            }
024            try {
025                return c.newInstance(paramValue);
026            } catch (IllegalAccessException e) {
027            } catch (InvocationTargetException e) {
028            } catch (InstantiationException e) {
029            }
030            return null;
031        }
032    }