Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

InfinityRefactoring/light-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Light Validator

What is it?

An lightweight utility library for validate objects.

Requirements for use

  • Java 8, or newer

Use example:

This example show how validate instances of the Person class:

package com.example;

import com.infinityrefactoring.lightvalidator.Validator;
import com.infinityrefactoring.lightvalidator.Validators;

public class Person {

	public static final Validator<Person> VALIDATOR = Validator.build(Person.class)
			.test("age", Person::getAge, Validators.isBetweenThan(1, 10))
			.test("name", Person::getName, Validators.isNotNull())
			.build();

	private int age;

	private String name;

	public Integer getAge() {
		return age;
	}

	public String getName() {
		return name;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public void setName(String name) {
		this.name = name;
	}

}

Running the validation:

package com.example;

import java.util.Map;
import java.util.Set;

public class Main {

	public static void main(String[] args) {

		Person person = new Person();

		System.out.println("Case 1:\n");

		Map<String, Set<String>> constraintViolations1 = Person.VALIDATOR.validate(person);
		constraintViolations1.forEach((key, value) -> {
			System.out.println(key);
			value.forEach(m -> System.out.printf("    %s\n", m));
		});

		person.setAge(5);

		System.out.println("\nCase 2:\n");

		Map<String, Set<String>> constraintViolations2 = Person.VALIDATOR.validate(person);
		constraintViolations2.forEach((key, value) -> {
			System.out.println(key);
			value.forEach(m -> System.out.printf("    %s\n", m));
		});
	}

}

Licensing

InfinityRefactoring/light-validator is provided and distributed under the Apache Software License 2.0.

Refer to LICENSE for more information.

About

An lightweight utility library for validate objects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.