public String toGetSourceString()

in src/main/java/org/apache/commons/ognl/ASTConst.java [81:153]


    public String toGetSourceString( OgnlContext context, Object target )
    {
        if ( value == null && parent != null && parent instanceof ExpressionNode)
        {
            context.setCurrentType( null );
            return "null";
        }
        if ( value == null )
        {
            context.setCurrentType( null );
            return "";
        }

        getterClass = value.getClass();

        Object retval = value;
        if ( parent != null && parent instanceof ASTProperty)
        {
            context.setCurrentObject( value );

            return value.toString();
        }
        if ( value != null && Number.class.isAssignableFrom( value.getClass() ) )
        {
            context.setCurrentType( OgnlRuntime.getPrimitiveWrapperClass( value.getClass() ) );
            context.setCurrentObject( value );

            return value.toString();
        }
        if ( !( parent != null
                        && value != null
                        && NumericExpression.class.isAssignableFrom( parent.getClass() ) )
            && String.class.isAssignableFrom( value.getClass() ) )
        {
            context.setCurrentType( String.class );

            retval = '\"' + OgnlOps.getEscapeString( value.toString() ) + '\"';

            context.setCurrentObject( retval.toString() );

            return retval.toString();
        }
        if (value instanceof Character)
        {
            Character val = (Character) value;

            context.setCurrentType( Character.class );

            if ( Character.isLetterOrDigit( val.charValue() ) )
            {
                retval = "'" + ( (Character) value ).charValue() + "'";
            }
            else
            {
                retval = "'" + OgnlOps.getEscapedChar( ( (Character) value ).charValue() ) + "'";
            }

            context.setCurrentObject( retval );
            return retval.toString();
        }

        if ( Boolean.class.isAssignableFrom( value.getClass() ) )
        {
            getterClass = Boolean.TYPE;

            context.setCurrentType( Boolean.TYPE );
            context.setCurrentObject( value );

            return value.toString();
        }

        return value.toString();
    }