protected Object convertArg()

in commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java [93:134]


    protected Object convertArg( final String val, final Class<?> type )
    {
        if ( val == null )
        {
            return null;
        }

        final String v = val.trim();
        if ( String.class.isAssignableFrom( type ) )
        {
            return val;
        }
        if ( Integer.TYPE.isAssignableFrom( type ) )
        {
            return Integer.valueOf( v );
        }
        if ( Long.TYPE.isAssignableFrom( type ) )
        {
            return Long.valueOf( v );
        }
        if ( Boolean.TYPE.isAssignableFrom( type ) )
        {
            if ( "true".equalsIgnoreCase( v ) )
            {
                return Boolean.TRUE;
            }
            if ( "false".equalsIgnoreCase( v ) )
            {
                return Boolean.FALSE;
            }
        }
        else if( type.isEnum() )
        {
            final Enum<?> valueOf = Enum.valueOf(type.asSubclass(Enum.class), v);
            return valueOf;
        }
        else if ( File.class.isAssignableFrom( type ) )
        {
            return new File( v );
        }
        return null;
    }