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, 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
-
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
-