Biblioteca de Java que mueve la validación al sistema de tipos (123 tipos predefinidos)
(github.com/JunggiKim)Java Refined es una biblioteca que coloca tipos de refinamiento predefinidos como NonBlankString y PositiveInt en lugar de String e int, moviendo la validación a la firma.
// Before
void createUser(String name, int age, List<String> roles) {
if (name == null || name.isBlank()) throw new IAE("name");
if (age <= 0) throw new IAE("age");
if (roles == null || roles.isEmpty()) throw new IAE("roles");
}
// After
void createUser(NonBlankString name, PositiveInt age, NonEmptyList<String> roles) { }
- 123 tipos predefinidos para importar y usar de inmediato (VAVR/Arrow solo ofrecen el patrón)
NonEmptyList<T>implementa directamenteList<T>— no hace falta desempaquetar- Cero dependencias de runtime · Java 8+ · MIT · Maven Central · módulo de extensión para Kotlin por separado
- 100% de cobertura de líneas + 95% de puntaje de mutación PIT
- Siendo honestos: proyecto de una sola persona, sin benchmarks JMH, sin puente para Jackson/
@Valid
Aún no hay comentarios.