Uma biblioteca utilitária para facilitar a criação de Specifications e Builders com validação no estilo Fluent Interface. Inspirada em conceitos de DDD (Domain-Driven Design), TDD (Test-Driven Development) e padrões avançados de validação de regras de negócio.
Ideal para projetos que exigem validações robustas e reutilizáveis, mantendo o código limpo, coeso e altamente testável.
✅ Abstração para criação de Builders com validação opcional
✅ Exceção customizada para validações
✅ Estrutura base para Specifications reutilizáveis
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories><dependency>
<groupId>com.github.Mateuslh</groupId>
<artifactId>spec-mateuslh</artifactId>
<version>1.0.1</version>
</dependency>🔗 Acesse: https://jitpack.io/#Mateuslh/spec-mateuslh
➡️ Clique em Look up > Get it para gerar o build da versão desejada.
// Código da entidade Produtor omitido para brevidade// Código da Specification omitido para brevidadeGeometryFactory geometryFactory = new GeometryFactory();
Point localizacao = geometryFactory.createPoint(new Coordinate(-47.0, -14.0)); // Fora da área permitida
Produtor produtor = new Produtor.Builder(null)
.nome("Fazenda Fora da Área")
.localizacao(localizacao)
.build(); // Lança ValidationException- Validação de regras de negócio antes de persistir entidades.
- Criação de Builders com enforce de invariantes.
- Projetos orientados a DDD onde Specifications centralizam regras.
Este projeto está licenciado sob a MIT License.
Desenvolvido com 💻 por Mateus Leal Hemkemeier
🔗 LinkedIn
📧 seuemail@example.com