public Object put()

in src/main/java/org/apache/commons/ognl/OgnlContext.java [588:647]


    public Object put( String key, Object value )
    {
        Object result = null;

        // FIXME: complexity is O(n)
        if ( RESERVED_KEYS.contains( key ) )
        {
            if ( CONTEXT_CONTEXT_KEY.equals( key ) )
            {
                throw new IllegalArgumentException( "can't change " + CONTEXT_CONTEXT_KEY + " in context" );
            }

            if ( THIS_CONTEXT_KEY.equals( key ) )
            {
                result = getCurrentObject();
                setCurrentObject( value );
            }
            else if ( ROOT_CONTEXT_KEY.equals( key ) )
            {
                result = getRoot();
                setRoot( value );
            }
            else if ( TRACE_EVALUATIONS_CONTEXT_KEY.equals( key ) )
            {
                result = getTraceEvaluations() ? Boolean.TRUE : Boolean.FALSE;
                setTraceEvaluations( OgnlOps.booleanValue( value ) );
            }
            else if ( LAST_EVALUATION_CONTEXT_KEY.equals( key ) )
            {
                result = getLastEvaluation();
                lastEvaluation = (Evaluation) value;
            }
            else if ( KEEP_LAST_EVALUATION_CONTEXT_KEY.equals( key ) )
            {
                result = getKeepLastEvaluation() ? Boolean.TRUE : Boolean.FALSE;
                setKeepLastEvaluation( OgnlOps.booleanValue( value ) );
            }
            else if ( CLASS_RESOLVER_CONTEXT_KEY.equals( key ) )
            {
                result = getClassResolver();
                setClassResolver( (ClassResolver) value );
            }
            else if ( TYPE_CONVERTER_CONTEXT_KEY.equals( key ) )
            {
                result = getTypeConverter();
                setTypeConverter( (TypeConverter) value );
            }
            else if ( MEMBER_ACCESS_CONTEXT_KEY.equals( key ) )
            {
                result = getMemberAccess();
                setMemberAccess( (MemberAccess) value );
            }
        }
        else
        {
            result = values.put( key, value );
        }

        return result;
    }