Class BaseRsqlCrudEntityService<P>
- java.lang.Object
-
- com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService<P>
-
- com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P>
-
- Type Parameters:
P
- The business domain type
- All Implemented Interfaces:
CrudEntityService<P>
,RsqlCrudEntityService<P>
public class BaseRsqlCrudEntityService<P> extends BaseCrudEntityService<P> implements RsqlCrudEntityService<P>
Real-world service implementations ofRsqlCrudEntityService
can extend from this class as a convenience to inherit CRUD behavior for a particular business domain type. By default, this class in turn defers toRsqlCrudEntityHelper
in order to allow easier refactoring of core functionality.If a service implementation spans several repository types, then it is recommended to inject the
RsqlCrudEntityHelper
rather than extend this class.- Author:
- Nathan Moore (nathandmoore)
-
-
Constructor Summary
Constructors Constructor Description BaseRsqlCrudEntityService(TrackableRepository<T> repository, RsqlCrudEntityHelper helper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected RsqlCrudEntityHelper
getRsqlHelper()
List<P>
readAll(cz.jirutka.rsql.parser.ast.Node filters, ContextInfo context)
Retrieve all domain instances using a structured query string to drive the query criteria.org.springframework.data.domain.Page<P>
readAll(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, ContextInfo context)
Retrieve all domain instances using a structured query string to drive the query criteria.List<P>
readAll(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Sort sort, ContextInfo context)
Retrieve all domain instances using a structured query string to drive the query criteria.org.springframework.data.domain.Page<P>
readAll(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Sort sort, org.springframework.data.domain.Pageable pageable, ContextInfo context)
Retrieve all domain instances using a structured query string to drive the query criteria.-
Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService
convertFromPersistentDomain, convertToPersistentDomain, create, createAll, createAllAllowingPartialSuccess, delete, getHelper, getRepository, getSortPositionStrategy, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, setSortPositionStrategy, update, updateAll, updateAllAllowingPartialSuccess, updateSort
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort
-
-
-
-
Constructor Detail
-
BaseRsqlCrudEntityService
public BaseRsqlCrudEntityService(TrackableRepository<T> repository, RsqlCrudEntityHelper helper)
-
-
Method Detail
-
readAll
public List<P> readAll(@NonNull cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Sort sort, ContextInfo context)
Description copied from interface:RsqlCrudEntityService
Retrieve all domain instances using a structured query string to drive the query criteria. The filters string is parsed by an internal implementation and the result is added to the query before executing the fetch against the persistence store. SeeFilterParser
for more information.This version also accepts a formatted sort string that declares the sorting characteristics for the query. See
SortParser
for more information.- Specified by:
readAll
in interfaceRsqlCrudEntityService<P>
- Parameters:
filters
- the RSQLNode
used to restrict result, must not be nullsort
- The string containing the structured list of sorts to applycontext
- Request context information around sandbox and multitenant state- Returns:
- The list of narrowed, sorted entities
-
readAll
public List<P> readAll(@NonNull cz.jirutka.rsql.parser.ast.Node filters, ContextInfo context)
Description copied from interface:RsqlCrudEntityService
Retrieve all domain instances using a structured query string to drive the query criteria. The filters string is parsed by an internal implementation and the result is added to the query before executing the fetch against the persistence store. SeeFilterParser
for more information.- Specified by:
readAll
in interfaceRsqlCrudEntityService<P>
- Parameters:
filters
- the RSQLNode
used to restrict result, must not be nullcontext
- Request context information around sandbox and multitenant state- Returns:
- The list of narrowed, sorted entities
-
readAll
public org.springframework.data.domain.Page<P> readAll(@NonNull cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Sort sort, @NonNull org.springframework.data.domain.Pageable pageable, ContextInfo context)
Description copied from interface:RsqlCrudEntityService
Retrieve all domain instances using a structured query string to drive the query criteria. The filters string is parsed by an internal implementation and the result is added to the query before executing the fetch against the persistence store. SeeFilterParser
for more information.This version also accepts a Sort to apply to the result set
- Specified by:
readAll
in interfaceRsqlCrudEntityService<P>
- Parameters:
filters
- the RSQLNode
used to restrict result, must not be nullsort
- sort to apply to the querypageable
- may bePageable.unpaged()
, must not be null.context
- Request context information around sandbox and multitenant state- Returns:
- The subset (page) of narrowed entities
-
readAll
public org.springframework.data.domain.Page<P> readAll(@NonNull cz.jirutka.rsql.parser.ast.Node filters, @NonNull org.springframework.data.domain.Pageable pageable, ContextInfo context)
Description copied from interface:RsqlCrudEntityService
Retrieve all domain instances using a structured query string to drive the query criteria. The filters string is parsed by an internal implementation and the result is added to the query before executing the fetch against the persistence store. SeeFilterParser
for more information.- Specified by:
readAll
in interfaceRsqlCrudEntityService<P>
- Parameters:
filters
- the RSQLNode
used to restrict result, must not be nullpageable
- may bePageable.unpaged()
, must not be null.context
- Request context information around sandbox and multitenant state- Returns:
- The subset (page) of narrowed entities
-
getRsqlHelper
@NonNull protected RsqlCrudEntityHelper getRsqlHelper()
-
-