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();
}