Class AbstractBaseQueryResourceService<E,ResponseDTO,ID,FilterDTO extends GenericFilterDTO>
java.lang.Object
org.praxisplatform.uischema.service.base.AbstractBaseQueryResourceService<E,ResponseDTO,ID,FilterDTO>
- All Implemented Interfaces:
BaseResourceQueryService<ResponseDTO,ID, FilterDTO>
- Direct Known Subclasses:
AbstractBaseResourceService,AbstractReadOnlyResourceService
public abstract class AbstractBaseQueryResourceService<E,ResponseDTO,ID,FilterDTO extends GenericFilterDTO>
extends Object
implements BaseResourceQueryService<ResponseDTO,ID,FilterDTO>
Base query-only do novo core resource-oriented.
Esta hierarquia concentra a superficie de leitura, options, option-sources e stats sem carregar
semantica de escrita. Recursos read-only nascem diretamente daqui; recursos mutantes sobem para
AbstractBaseResourceService apenas quando realmente precisam de create/update/delete.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractBaseQueryResourceService(BaseCrudRepository<E, ID> repository, Class<E> entityClass) protectedAbstractBaseQueryResourceService(BaseCrudRepository<E, ID> repository, GenericSpecificationsBuilder<E> specificationsBuilder, Class<E> entityClass) -
Method Summary
Modifier and TypeMethodDescriptionbyIdsOptions(Collection<ID> ids) byIdsOptionSourceOptions(String sourceKey, Collection<Object> ids) protected StringcomputeOptionLabel(E entity) protected IDorg.springframework.data.domain.Page<ResponseDTO> filter(FilterDTO filter, org.springframework.data.domain.Pageable pageable, Collection<ID> includeIds) filterByCursor(FilterDTO filter, org.springframework.data.domain.Sort sort, String after, String before, int size) protected org.springframework.data.domain.Page<E> filterEntities(FilterDTO filterDTO, org.springframework.data.domain.Pageable pageable) protected CursorPage<E> filterEntitiesByCursor(FilterDTO filter, org.springframework.data.domain.Sort sort, String after, String before, int size) protected org.springframework.data.domain.Page<E> filterEntitiesWithIncludeIds(FilterDTO filter, org.springframework.data.domain.Pageable pageable, Collection<ID> includeIds) filterOptions(FilterDTO filter, org.springframework.data.domain.Pageable pageable) filterOptionSourceOptions(String sourceKey, FilterDTO filter, String search, org.springframework.data.domain.Pageable pageable, Collection<Object> includeIds) findAll()findAllById(Collection<ID> ids) findEntitiesById(Collection<ID> ids) protected EfindEntityById(ID id) getAllFields(Class<?> type) protected Method[]getAllMethods(Class<?> type) org.springframework.data.domain.Sortprotected jakarta.persistence.EntityManagerprotected jakarta.persistence.EntityNotFoundExceptionprotected OptionMapper<E, ID> protected abstract ResourceMapper<E, ResponseDTO, ?, ?, ID> groupByStats(GroupByStatsRequest<FilterDTO> request) booleanhasOptionSource(String sourceKey) protected OptionSourceDescriptorresolveEffectiveOptionSource(String sourceKey) protected List<ResolvedStatsMetric> resolveMetrics(List<StatsMetricRequest> metrics, String operationName) resolveOptionSource(String sourceKey) protected FilterDTOsanitizeFilter(FilterDTO filter, OptionSourceDescriptor descriptor) timeSeriesStats(TimeSeriesStatsRequest<FilterDTO> request)
-
Constructor Details
-
AbstractBaseQueryResourceService
protected AbstractBaseQueryResourceService(BaseCrudRepository<E, ID> repository, GenericSpecificationsBuilder<E> specificationsBuilder, Class<E> entityClass) -
AbstractBaseQueryResourceService
protected AbstractBaseQueryResourceService(BaseCrudRepository<E, ID> repository, Class<E> entityClass)
-
-
Method Details
-
getResourceMapper
-
getRepository
-
getSpecificationsBuilder
-
getEntityClass
-
getEntityManager
protected jakarta.persistence.EntityManager getEntityManager() -
getIdFieldName
- Specified by:
getIdFieldNamein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getDefaultSort
public org.springframework.data.domain.Sort getDefaultSort()- Specified by:
getDefaultSortin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getDatasetVersion
- Specified by:
getDatasetVersionin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getGroupByStatsSupportMode
- Specified by:
getGroupByStatsSupportModein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getTimeSeriesStatsSupportMode
- Specified by:
getTimeSeriesStatsSupportModein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getDistributionStatsSupportMode
- Specified by:
getDistributionStatsSupportModein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getStatsFieldRegistry
- Specified by:
getStatsFieldRegistryin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
getOptionSourceRegistry
- Specified by:
getOptionSourceRegistryin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
hasOptionSource
- Specified by:
hasOptionSourcein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
resolveOptionSource
- Specified by:
resolveOptionSourcein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
findById
- Specified by:
findByIdin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
findAll
- Specified by:
findAllin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
findAllById
- Specified by:
findAllByIdin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
filter
@Transactional(readOnly=true) public org.springframework.data.domain.Page<ResponseDTO> filter(FilterDTO filter, org.springframework.data.domain.Pageable pageable, Collection<ID> includeIds) - Specified by:
filterin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
filterByCursor
@Transactional(readOnly=true) public CursorPage<ResponseDTO> filterByCursor(FilterDTO filter, org.springframework.data.domain.Sort sort, String after, String before, int size) - Specified by:
filterByCursorin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
locate
- Specified by:
locatein interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
filterOptions
@Transactional(readOnly=true) public org.springframework.data.domain.Page<OptionDTO<ID>> filterOptions(FilterDTO filter, org.springframework.data.domain.Pageable pageable) - Specified by:
filterOptionsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
byIdsOptions
- Specified by:
byIdsOptionsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
filterOptionSourceOptions
@Transactional(readOnly=true) public org.springframework.data.domain.Page<OptionDTO<Object>> filterOptionSourceOptions(String sourceKey, FilterDTO filter, String search, org.springframework.data.domain.Pageable pageable, Collection<Object> includeIds) - Specified by:
filterOptionSourceOptionsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
byIdsOptionSourceOptions
@Transactional(readOnly=true) public List<OptionDTO<Object>> byIdsOptionSourceOptions(String sourceKey, Collection<Object> ids) - Specified by:
byIdsOptionSourceOptionsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
groupByStats
@Transactional(readOnly=true) public GroupByStatsResponse groupByStats(GroupByStatsRequest<FilterDTO> request) - Specified by:
groupByStatsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
timeSeriesStats
@Transactional(readOnly=true) public TimeSeriesStatsResponse timeSeriesStats(TimeSeriesStatsRequest<FilterDTO> request) - Specified by:
timeSeriesStatsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
distributionStats
@Transactional(readOnly=true) public DistributionStatsResponse distributionStats(DistributionStatsRequest<FilterDTO> request) - Specified by:
distributionStatsin interfaceBaseResourceQueryService<E,ResponseDTO, ID>
-
filterEntitiesByCursor
protected CursorPage<E> filterEntitiesByCursor(FilterDTO filter, org.springframework.data.domain.Sort sort, String after, String before, int size) -
extractId
-
getOptionMapper
-
computeOptionLabel
-
getNotFoundException
protected jakarta.persistence.EntityNotFoundException getNotFoundException() -
findEntityById
-
findAllEntities
-
findEntitiesById
-
filterEntities
-
filterEntitiesWithIncludeIds
protected org.springframework.data.domain.Page<E> filterEntitiesWithIncludeIds(FilterDTO filter, org.springframework.data.domain.Pageable pageable, Collection<ID> includeIds) -
sanitizeFilter
-
resolveEffectiveOptionSource
-
resolveMetrics
protected List<ResolvedStatsMetric> resolveMetrics(List<StatsMetricRequest> metrics, String operationName) -
getAllFields
-
getAllMethods
-