/* XelELContext.java Purpose: Description: History: Wed Jul 20 10:15:21 2011, Created by henrichen Copyright (C) 2011 Potix Corporation. All Rights Reserved. {{IS_RIGHT }}IS_RIGHT */ package org.zkoss.xel.zel; import org.zkoss.zel.ELContext; import org.zkoss.zel.ELResolver; import org.zkoss.zel.VariableMapper; import org.zkoss.zel.ValueExpression; import org.zkoss.xel.XelContext; /** * An ZEL context that is based on XEL context. * * @author henrichen * @since 6.0.0 */ public class XelELContext extends ELContext { private final XelContext _xelc; private final ELResolver _resolver; private static final VariableMapper EMPTY_VAR_MAPPER = new VariableMapper() { public ValueExpression resolveVariable(String variable) { return null; } public ValueExpression setVariable(String variable, ValueExpression expression) { throw new UnsupportedOperationException(); } }; public XelELContext(XelContext xelc) { _xelc = xelc; _resolver = newELResolver(xelc); } protected ELResolver newELResolver(XelContext xelc) { return new XelELResolver(xelc); } public ELResolver getELResolver() { return _resolver; } public org.zkoss.zel.FunctionMapper getFunctionMapper() { return _xelc != null ? new XelELMapper(_xelc.getFunctionMapper()): null; } public VariableMapper getVariableMapper() { return EMPTY_VAR_MAPPER; //not support } protected XelContext getXelContext() { return _xelc; } }