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
correlationPredicate, targetMappingSupplier
-
-
Constructor Summary
Constructors Constructor Description ContainerTableRelationResolver(@NotNull QContainerMapping<TS,TQ,TR,R> targetMapping, @NotNull BiFunction<Q,TQ,com.querydsl.core.types.Predicate> correlationPredicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ContainerTableUpdateContext<TS,TQ,TR,R>
resolve(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
resolve, usingJoin, usingSubquery
-
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 Detail
-
ContainerTableRelationResolver
public ContainerTableRelationResolver(@NotNull @NotNull QContainerMapping<TS,TQ,TR,R> targetMapping, @NotNull @NotNull BiFunction<Q,TQ,com.querydsl.core.types.Predicate> correlationPredicate)
-
-
Method Detail
-
resolve
public ContainerTableUpdateContext<TS,TQ,TR,R> resolve(SqaleUpdateContext<?,Q,R> context, ItemPath itemPath) throws RepositoryException
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
-
-