io.github.guvense:validator

Object Validator

Лицензия

Лицензия

Группа

Группа

io.github.guvense
Идентификатор

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

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

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

1.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

io.github.guvense:validator
Object Validator
Ссылка на сайт

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

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

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

https://github.com/guvense/Validator

Скачать validator

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

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

Зависимости

compile (2)

Идентификатор библиотеки Тип Версия
org.apache.commons : commons-lang3 jar 3.11
org.freemarker : freemarker jar 2.3.30

provided (1)

Идентификатор библиотеки Тип Версия
com.google.auto.service : auto-service jar 1.0-rc2

test (1)

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

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

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

Validator

Validator is an annotation that validates your objects. That use annotation processing which is not affecting your performance. It generates codes during compile time. 

  • Condition Checker
  • Pattern Matcher

You can write your validation in an interface and let validator generates your implementation.


public interface PersonValidator {


    @Valid(source = "name",
            errorMessage = "Name is not blank",
            targetException =
                    NullPointerException.class,
            condition = ConditionRule.IsNotBlank)
    @Valid(source = "age",
            errorMessage = "Age should be positive",
            targetException = NullPointerException.class,
            condition = ConditionRule.IsPositive)
    @Valid(source = "count",
            errorMessage = "Count should be zero",
            targetException = NullPointerException.class,
            condition = ConditionRule.IsZero)
    @Valid(
            source = "email",
            errorMessage = "Not valid email",
            targetException = NullPointerException.class,
            pattern = Pattern.EMAIL
    )
    void validate(Person person);

}


            

Validator will generate

package validator;

    import model.Person;


import static org.validator.generator.constant.ConditionRule.*;
import org.validator.util.condition.ConditionRuleChecker;

import static org.validator.generator.constant.Pattern.*;
import org.validator.util.pattern.PatternMatcher;


@Component
public class PersonValidatorImpl implements PersonValidator
{


    public void validate(Person person) {

        if(ConditionRuleChecker.check(IsNotBlank,  person.getName())) {
            throw new java.lang.NullPointerException("Name is not blank");
        }
        if(ConditionRuleChecker.check(IsPositive,  person.getAge())) {
            throw new java.lang.NullPointerException("Age should be positive");
        }
        if(ConditionRuleChecker.check(IsZero,  person.getCount())) {
            throw new java.lang.NullPointerException("Count should be zero");
        }

        if(PatternMatcher.validate(EMAIL,  person.getEmail())) {
            throw new java.lang.NullPointerException("Not valid email");
        }
    }
}

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

Версия
1.0.0