Biblioteca Java que leva a validação para o sistema de tipos (123 tipos predefinidos)
(github.com/JunggiKim)Java Refined é uma biblioteca que coloca tipos refinados predefinidos como NonBlankString e PositiveInt no lugar de String e int, levando a validação para a assinatura.
// 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 prontos para importar e usar imediatamente (VAVR/Arrow fornecem apenas o padrão)
NonEmptyList<T>implementa diretamenteList<T>— sem necessidade de unwrapping- Zero dependências de runtime · Java 8+ · MIT · Maven Central · módulo de extensão para Kotlin separado
- 100% de cobertura de linhas + 95% de score de mutação no PIT
- Sinceramente: projeto de uma pessoa só, sem benchmark JMH, sem bridge para Jackson/
@Valid
Ainda não há comentários.