Class ContainerTableRelationResolver<Q extends FlexibleRelationalPathBase<R>,R,TS extends Containerable,TQ extends QContainer<TR,R> & QOwnedBy<R>,TR extends MContainer>
java.lang.Object
com.evolveum.midpoint.repo.sqlbase.mapping.TableRelationResolver<Q,R,TS,TQ,TR>
com.evolveum.midpoint.repo.sqale.mapping.ContainerTableRelationResolver<Q,R,TS,TQ,TR>
- Type Parameters:
Q
- type of source entity path (where the mapping is)R
- row type forContainerTableRelationResolver
, this is the owner of the target tableTS
- schema type for the target entityTQ
- type of target entity pathTR
- row type related to the target entity pathContainerTableRelationResolver
- All Implemented Interfaces:
SqaleItemRelationResolver<Q,
,R, TQ, TR> ItemRelationResolver<Q,
R, TQ, TR>
public class ContainerTableRelationResolver<Q extends FlexibleRelationalPathBase<R>,R,TS extends Containerable,TQ extends QContainer<TR,R> & QOwnedBy<R>,TR extends MContainer>
extends TableRelationResolver<Q,R,TS,TQ,TR>
implements SqaleItemRelationResolver<Q,R,TQ,TR>
Resolver that knows how to traverse to the specified container table.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.repo.sqlbase.mapping.ItemRelationResolver
ItemRelationResolver.ResolutionResult<TQ extends FlexibleRelationalPathBase<TR>,
TR> -
Field Summary
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.TableRelationResolver
correlationPredicateFunction, targetMappingSupplier
-
Constructor Summary
ConstructorDescriptionContainerTableRelationResolver
(@NotNull QContainerMapping<TS, TQ, TR, R> targetMapping, @NotNull BiFunction<Q, TQ, com.querydsl.core.types.Predicate> correlationPredicate) -
Method Summary
Modifier and TypeMethodDescriptionresolve
(SqaleUpdateContext<?, Q, R> context, ItemPath itemPath) Resolves current query context to a new context (mapping is always part of context).Methods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.TableRelationResolver
getTargetMappingSupplier, mapping, replaceTable, resolve, resolveUsingJoin, reverse, usingJoin, usingSubquery, withSubquery
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.repo.sqlbase.mapping.ItemRelationResolver
resolve, resolve, resolveUsingJoin
-
Constructor Details
-
ContainerTableRelationResolver
public ContainerTableRelationResolver(@NotNull @NotNull QContainerMapping<TS, TQ, TR, R> targetMapping, @NotNull @NotNull BiFunction<Q, TQ, com.querydsl.core.types.Predicate> correlationPredicate)
-
-
Method Details
-
resolve
public ContainerTableUpdateContext<TS,TQ, resolveTR, R> (SqaleUpdateContext<?, Q, throws RepositoryExceptionR> context, ItemPath itemPath) Description copied from interface:SqaleItemRelationResolver
Resolves current query context to a new context (mapping is always part of context). The information about the resolved item is captured in the instance resolver already in a manner that is specific for various types of resolution (JOIN or nested mapping). OptionalItemPath
is provided for cases when container ID is necessary. Return value `null` indicates that the modification using the resolver should be ignored by the repository.- Specified by:
resolve
in interfaceSqaleItemRelationResolver<Q extends FlexibleRelationalPathBase<R>,
R, TS extends Containerable, TQ extends QContainer<TR, R> & QOwnedBy<R>> - Throws:
RepositoryException
-