ActivityBannerSpecification.java
package fr.avenirsesr.portfolio.file.infrastructure.adapter.specification;
import fr.avenirsesr.portfolio.activity.domain.model.Activity;
import fr.avenirsesr.portfolio.activity.infrastructure.adapter.mapper.ActivityMapper;
import fr.avenirsesr.portfolio.file.infrastructure.adapter.model.ActivityBannerEntity;
import org.springframework.data.jpa.domain.Specification;
public interface ActivityBannerSpecification {
static Specification<ActivityBannerEntity> ofActivity(Activity activity) {
return (root, query, criteriaBuilder) ->
criteriaBuilder.and(
criteriaBuilder.equal(
root.get("activity"), ActivityMapper.INSTANCE.fromDomain(activity)));
}
static Specification<ActivityBannerEntity> onlyActiveVersion() {
return (root, query, criteriaBuilder) ->
criteriaBuilder.equal(root.get("isActiveVersion"), true);
}
}