1 pontos por k42kr 2026-05-19 | Ainda não há comentários. | Compartilhar no WhatsApp

Java Refined é uma biblioteca que coloca tipos de refinamento predefinidos como NonBlankString e PositiveInt no lugar de String e int, movendo 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 para importar e usar imediatamente (VAVR/Arrow só fornecem o padrão)
  • NonEmptyList<T> implementa diretamente List<T> — sem necessidade de unwrapping
  • Zero dependências em runtime · Java 8+ · MIT · Maven Central · módulo de extensão para Kotlin separado
  • 100% de cobertura de linhas + 95% de pontuação de mutação no PIT
  • Sendo bem sincero: projeto de uma pessoa só, sem benchmark JMH, sem ponte com Jackson/@Valid

GitHub: https://github.com/JunggiKim/java-refined

Ainda não há comentários.

Ainda não há comentários.