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
ConstructorsConstructorDescriptionContainerTableRelationResolver(@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, withSubqueryMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:SqaleItemRelationResolverResolves 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). OptionalItemPathis 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:
resolvein interfaceSqaleItemRelationResolver<Q extends FlexibleRelationalPathBase<R>,R, TS extends Containerable, TQ extends QContainer<TR, R> & QOwnedBy<R>> - Throws:
RepositoryException
-