Package org.springframework.web.servlet.view.cambridge

Source Code of org.springframework.web.servlet.view.cambridge.SpringExpressionLanguage

package org.springframework.web.servlet.view.cambridge;

import cambridge.ExpressionLanguage;
import cambridge.ExpressionParsingException;
import cambridge.model.Expression;
import cambridge.parser.expressions.CambridgeExpressionParsingException;
import cambridge.runtime.ExpressionContext;
import org.springframework.expression.ParseException;
import org.springframework.expression.spel.standard.SpelExpressionParser;

import java.util.Locale;

/**
* @author Erdinc Yilmazel (eyilmazel@tripadvisor.com)
* @since 6/14/13
*/
public class SpringExpressionLanguage implements ExpressionLanguage
{
    SpelExpressionParser parser = new SpelExpressionParser();

    @Override
    public Expression parse(String expressionString, int line, int column) throws ExpressionParsingException
    {
        try
        {
            org.springframework.expression.Expression expression = parser.parseExpression(expressionString);

            return new SpringExpression(expression);
        }
        catch (ParseException e)
        {
            throw new CambridgeExpressionParsingException(line, column, expressionString, e);
        }
    }

    @Override
    public String wrapExpressionAsList(String expr)
    {
        return "{" + expr + "}";
    }

    @Override
    public ExpressionContext createNewContext(Locale locale)
    {
        return new SpringExpressionContext(locale);
    }

    @Override
    public ExpressionContext createNewContext()
    {
        return new SpringExpressionContext(null);
    }
}
TOP

Related Classes of org.springframework.web.servlet.view.cambridge.SpringExpressionLanguage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.