ExpressionLanguage


Лицензия

Лицензия

Группа

Группа

com.wenyu7980
Идентификатор

Идентификатор

el
Последняя версия

Последняя версия

1.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

ExpressionLanguage
ExpressionLanguage
Ссылка на сайт

Ссылка на сайт

https://github.com/wenyu7980/el
Система контроля версий

Система контроля версий

https://github.com/wenyu7980/el

Скачать el

Имя Файла Размер
el-1.0.0.pom
el-1.0.0.jar 28 KB
el-1.0.0-sources.jar 20 KB
el-1.0.0-javadoc.jar 81 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.wenyu7980/el/ -->
<dependency>
    <groupId>com.wenyu7980</groupId>
    <artifactId>el</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.wenyu7980/el/
implementation 'com.wenyu7980:el:1.0.0'
// https://jarcasting.com/artifacts/com.wenyu7980/el/
implementation ("com.wenyu7980:el:1.0.0")
'com.wenyu7980:el:jar:1.0.0'
<dependency org="com.wenyu7980" name="el" rev="1.0.0">
  <artifact name="el" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.wenyu7980', module='el', version='1.0.0')
)
libraryDependencies += "com.wenyu7980" % "el" % "1.0.0"
[com.wenyu7980/el "1.0.0"]

Зависимости

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12

Модули Проекта

Данный проект не имеет модулей.

表达式语言 EL (Expression Language)

作者:彣彧 wenyu7980@163.com

注意

该库所有数字类型都是BigDecimal

语法

操作数 操作符 操作数 ;

支持的功能

  • 四则运算
  • 比较运算
  • 逻辑运算
  • 三元运算
  • 获取上下文中的属性值
  • 执行上下文中的方法

四则运算

运算符 运算符意义 示例
+ ExpressionLanguages.parse(“1+1;”,BigDecimal.class);
- ExpressionLanguages.parse(“1-1;”,BigDecimal.class);
* ExpressionLanguages.parse(“1*1;”,BigDecimal.class);
/ ExpressionLanguages.parse(“1/1;”,BigDecimal.class);

比较运算

运算符 运算符意义 示例
< 小于 ExpressionLanguages.parse(“1<1;”,Boolean.class);
<= 小于等于 ExpressionLanguages.parse(“1<=1;”,Boolean.class);
> 大于 ExpressionLanguages.parse(“1>0;”,Boolean.class);
>= 大于等于 ExpressionLanguages.parse(“1>=1;”,Boolean.class);
<> 不等于 ExpressionLanguages.parse(“1<>0;”,Boolean.class);
== 等于 ExpressionLanguages.parse(“1==0;”,Boolean.class);

逻辑运算

运算符 运算符意义 示例
&& ExpressionLanguages.parse(“1==0 && 1==0;”,Boolean.class);
|| ExpressionLanguages.parse(“1==0 || 1==0;”,Boolean.class);
ExpressionLanguages.parse(“!1==0”,Boolean.class);

三元运算

logic? left : right

ExpressionLanguages.parse(“1==0?2:3”,BigDecimal.class);

获取上下文中的属性值

需要设定上下文

public class Data {
    private String text;
}

ExpressionLanguages.parse("$.text;",new ElContext().addContext("$",new Data()),String.class);

执行上下文中的方法

需要设定上下文

public class Data {
    public String f(){
        return "text";
    }
}

ExpressionLanguages.parse("$.f();",new ElContext().addContext("$",new Data()),String.class);

运算符优先级

优先级由高到低

运算符
.
*/
+-
> >= < <= <> ==
&&
||
!
?:

Версии библиотеки

Версия
1.0.0