⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conditionresolver.java.svn-base

📁 Fire-Workflow-Engine-All-In-One-20090208 包含全部文档
💻 SVN-BASE
字号:
/**
 * Copyright 2007-2008 陈乜云(非也,Chen Nieyun)
 * All rights reserved. 
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation。
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see http://www.gnu.org/licenses. *
 */
package org.fireflow.engine.condition;

import java.util.Map;

import org.fireflow.engine.RuntimeContext;
import org.fireflow.engine.condition.IConditionResolver;
import org.apache.commons.jexl.Expression;
import org.apache.commons.jexl.ExpressionFactory;
import org.apache.commons.jexl.JexlHelper;
import org.apache.commons.jexl.JexlContext;
import org.fireflow.engine.IRuntimeContextAware;
/**
 * @author chennieyun
 *
 */
public class ConditionResolver implements IConditionResolver,IRuntimeContextAware {
        protected RuntimeContext rtCtx = null;
        
	/* (non-Javadoc)
	 * @see org.fireflow.kenel.condition.IConditionResolver#resolveBooleanExpression(java.lang.String)
	 */
	public boolean resolveBooleanExpression(Map vars,String elExpression) {
		// TODO Auto-generated method stub
		try{
			Expression expression = ExpressionFactory.createExpression(elExpression);
			JexlContext jexlCtx = JexlHelper.createContext();
			jexlCtx.setVars(vars);
			Object obj = expression.evaluate(jexlCtx);
			return (Boolean)obj;
		}catch(Exception ex){
			ex.printStackTrace();
			return false;
		}
	}

    public void setRuntimeContext(RuntimeContext ctx) {
        rtCtx = ctx;
    }
    public RuntimeContext getRuntimeContext(){
        return this.rtCtx;
    } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -