mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
增加QLExpress支持
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package cn.hutool.extra.expression.engine.qlexpress;
|
||||
|
||||
import cn.hutool.extra.expression.ExpressionEngine;
|
||||
import cn.hutool.extra.expression.ExpressionException;
|
||||
import com.ql.util.express.DefaultContext;
|
||||
import com.ql.util.express.ExpressRunner;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* QLExpress引擎封装<br>
|
||||
* 见:https://github.com/alibaba/QLExpress
|
||||
*
|
||||
* @author looly
|
||||
* @since 5.8.9
|
||||
*/
|
||||
public class QLExpressEngine implements ExpressionEngine {
|
||||
|
||||
private final ExpressRunner engine;
|
||||
|
||||
/**
|
||||
* 构造
|
||||
*/
|
||||
public QLExpressEngine() {
|
||||
engine = new ExpressRunner();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object eval(final String expression, final Map<String, Object> context) {
|
||||
final DefaultContext<String, Object> defaultContext = new DefaultContext<>();
|
||||
defaultContext.putAll(context);
|
||||
try {
|
||||
return engine.execute(expression, defaultContext, null, true, false);
|
||||
} catch (final Exception e) {
|
||||
throw new ExpressionException(e);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* QLExpress引擎封装<br>
|
||||
* 见:https://github.com/alibaba/QLExpress
|
||||
*
|
||||
* @author looly
|
||||
*/
|
||||
package cn.hutool.extra.expression.engine.qlexpress;
|
@@ -3,4 +3,5 @@ cn.hutool.extra.expression.engine.jexl.JexlEngine
|
||||
cn.hutool.extra.expression.engine.mvel.MvelEngine
|
||||
cn.hutool.extra.expression.engine.jfireel.JfireELEngine
|
||||
cn.hutool.extra.expression.engine.spel.SpELEngine
|
||||
cn.hutool.extra.expression.engine.rhino.RhinoEngine
|
||||
cn.hutool.extra.expression.engine.rhino.RhinoEngine
|
||||
cn.hutool.extra.expression.engine.qlexpress.QLExpressEngine
|
||||
|
Reference in New Issue
Block a user