net.guoyk:azuki

A simple Java Map evaluation tool

Лицензия

Лицензия

Категории

Категории

Сеть
Группа

Группа

net.guoyk
Идентификатор

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

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

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

1.1.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

net.guoyk:azuki
A simple Java Map evaluation tool
Ссылка на сайт

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

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

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

http://github.com/guoyk93/azuki/tree/master

Скачать azuki

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

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

Зависимости

test (2)

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

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

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

Azuki

BMC Donate Build Status GitHub

<dependency>
  <groupId>net.guoyk</groupId>
  <artifactId>azuki</artifactId>
  <version>1.1</version>
</dependency>

Azuki is a simple Java Map evaluation tool

Example

Create a Expression using Azuki.build(Object), passing a Map like this

not:
  and:
    - equals:
      key1: value1
      key2: value2
    - startsWith:
      key3: value3
      key4: value4

Then execute the Expression with Expression#validate(Map)

Passing a Map like this

key1: value1
key2: value2
key3: value3hello
key4: value4world

The Expression will evaluate the map like this

!(
  (
    map.get("key1").equals("value1")
    &&
    map.get("key2").equals("value2")
  )
  &&
  (
    map.get("key3").startsWith("value3")
    &&
    map.get("key4").startsWith("value4")
  )
 )

and returns false in this case.

All Expressions Can be Infinitely Nested

Supported Expressions

Evaluation Expressions

Evaluation Expressions is presented as a Map, it execute the actual evaluation.

If all Key-Value pairs passed, the expression returns true.

  • equals
  • equalsIgnoreCase
  • contains
  • containsIgnoreCase
  • startsWith
  • startsWithIgnoreCase
  • endsWith
  • endsWithIgnoreCase
  • regexp
  • exists

For exists, you can check both existence and non-existence

exists:
  key1: t
  key2: true
  key3: yes
  key4: f
  key5: false
  key6: no

This will check existence of key1-3 and non-existence of key4-6

string starts with f, n will be regarded as non-existence validation.

Combination Expressions

Combination Expressions accept a array of expressions, used for combination

  • all
  • any
  • none

Wrapper Expressions

Wrapper Expressions wraps one single expression, basically for not operation

  • not

Credits

Guo Y.K., MIT License

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

Версия
1.1.0