static String getParmString()

in src/main/java/org/apache/commons/ognl/ASTMethodUtil.java [83:121]


    static String getParmString( OgnlContext context, Class parm, String parmString, Node child, Class valueClass,
                                 String endParam )
    {
        OgnlExpressionCompiler compiler = OgnlRuntime.getCompiler( context );
        if ( parm.isArray() )
        {
            parmString = compiler.createLocalReference( context, "(" + ExpressionCompiler.getCastString( parm )
                + ")org.apache.commons.ognl.OgnlOps#toArray(" + parmString + ", " + parm.getComponentType().getName()
                + endParam, parm );

        }
        else if ( parm.isPrimitive() )
        {
            Class wrapClass = OgnlRuntime.getPrimitiveWrapperClass( parm );

            parmString = compiler.createLocalReference( context, "((" + wrapClass.getName()
                + ")org.apache.commons.ognl.OgnlOps#convertValue(" + parmString + "," + wrapClass.getName()
                + ".class, true))." + OgnlRuntime.getNumericValueGetter( wrapClass ), parm );

        }
        else if ( parm != Object.class )
        {
            parmString = compiler.createLocalReference( context, "(" + parm.getName()
                + ")org.apache.commons.ognl.OgnlOps#convertValue(" + parmString + "," + parm.getName() + ".class)",
                                                        parm );

        }
        else if ( ( child instanceof NodeType && ( (NodeType) child ).getGetterClass() != null
            && Number.class.isAssignableFrom( ( (NodeType) child ).getGetterClass() ) ) || ( valueClass != null
            && valueClass.isPrimitive() ) )
        {
            parmString = " ($w) " + parmString;
        }
        else if ( valueClass != null && valueClass.isPrimitive() )
        {
            parmString = "($w) " + parmString;
        }
        return parmString;
    }