Class ViaParentPrefetchResolver
java.lang.Object
io.agrest.resolver.BaseDataResolver
io.agrest.resolver.BaseRelatedDataResolver<org.apache.cayenne.DataObject>
io.agrest.cayenne.processor.select.ViaParentPrefetchResolver
- All Implemented Interfaces:
RelatedDataResolver<org.apache.cayenne.DataObject>
public class ViaParentPrefetchResolver
extends BaseRelatedDataResolver<org.apache.cayenne.DataObject>
A resolver that doesn't run its own queries, but instead amends parent node query with prefetch spec, so that the
objects can be read efficiently from the parent objects. Also allows to explicitly set the prefetch semantics.
- Since:
- 3.4
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddRelatedPrefetch(RelatedResourceEntity<?> entity, String path, int prefetchSemantics) protected voidaddRootPrefetch(RootResourceEntity<?> entity, String path, int prefetchSemantics) dataReader(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, ProcessingContext<?> context) protected Iterable<org.apache.cayenne.DataObject> doOnParentDataResolved(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, Iterable<?> parentData, SelectContext<?> context) protected voiddoOnParentQueryAssembled(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, SelectContext<?> context) protected Iterable<org.apache.cayenne.DataObject> iterableData(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, Iterable<? extends org.apache.cayenne.DataObject> parentData, ProcessingContext<?> context) Methods inherited from class io.agrest.resolver.BaseRelatedDataResolver
onParentDataResolved, onParentQueryAssembledMethods inherited from class io.agrest.resolver.BaseDataResolver
afterDataFetched, afterQueryAssembled
-
Constructor Details
-
ViaParentPrefetchResolver
public ViaParentPrefetchResolver(int prefetchSemantics)
-
-
Method Details
-
doOnParentQueryAssembled
protected void doOnParentQueryAssembled(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, SelectContext<?> context) - Specified by:
doOnParentQueryAssembledin classBaseRelatedDataResolver<org.apache.cayenne.DataObject>
-
doOnParentDataResolved
protected Iterable<org.apache.cayenne.DataObject> doOnParentDataResolved(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, Iterable<?> parentData, SelectContext<?> context) - Specified by:
doOnParentDataResolvedin classBaseRelatedDataResolver<org.apache.cayenne.DataObject>
-
addRelatedPrefetch
protected void addRelatedPrefetch(RelatedResourceEntity<?> entity, String path, int prefetchSemantics) -
addRootPrefetch
-
dataReader
public DataReader dataReader(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, ProcessingContext<?> context) - Specified by:
dataReaderin interfaceRelatedDataResolver<org.apache.cayenne.DataObject>- Specified by:
dataReaderin classBaseRelatedDataResolver<org.apache.cayenne.DataObject>
-
iterableData
protected Iterable<org.apache.cayenne.DataObject> iterableData(RelatedResourceEntity<org.apache.cayenne.DataObject> entity, Iterable<? extends org.apache.cayenne.DataObject> parentData, ProcessingContext<?> context)
-