argos/dmp-backend/core/src/main/java/eu/eudat/query/utils/QueryUtilsService.java

24 lines
1004 B
Java
Raw Normal View History

2023-11-08 17:42:52 +01:00
package eu.eudat.query.utils;
2024-04-05 11:43:33 +02:00
import jakarta.persistence.criteria.*;
2023-11-08 17:42:52 +01:00
import java.util.UUID;
public interface QueryUtilsService {
<Key, D> Subquery<Key> buildSubQuery(BuildSubQueryInput<D, Key> parameters);
Subquery<UUID> buildDmpAuthZSubQuery(AbstractQuery<?> query, CriteriaBuilder criteriaBuilder, UUID userId, Boolean usePublic);
Subquery<UUID> buildDescriptionAuthZSubQuery(AbstractQuery<?> query, CriteriaBuilder criteriaBuilder, UUID userId, Boolean usePublic);
2023-11-08 17:42:52 +01:00
Subquery<UUID> buildPublicDmpAuthZSubQuery(AbstractQuery<?> query,
CriteriaBuilder criteriaBuilder,
Boolean usePublic);
Subquery<UUID> buildDmpUserAuthZSubQuery(AbstractQuery<?> query,
CriteriaBuilder criteriaBuilder,
UUID userId);
2024-04-05 11:43:33 +02:00
Predicate ilike(CriteriaBuilder criteriaBuilder, Expression<String> path, String value);
2023-11-08 17:42:52 +01:00
}