Bibliothèque Java qui déplace la validation dans le système de types (123 types prédéfinis)
(github.com/JunggiKim)Java Refined est une bibliothèque qui remplace String et int par des types de raffinement prédéfinis comme NonBlankString et PositiveInt, afin de déplacer la validation dans la signature.
// 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 types prédéfinis utilisables immédiatement via import (VAVR/Arrow ne fournissent qu’un modèle)
NonEmptyList<T>implémente directementList<T>— pas besoin de déballage- Aucune dépendance runtime · Java 8+ · MIT · Maven Central · module d’extension Kotlin séparé
- 100 % de couverture de lignes + score de mutation PIT de 95 %
- En toute franchise : projet solo, pas de benchmark JMH, pas de passerelle Jackson/
@Valid
Aucun commentaire pour le moment.