Interface SqaleItemRelationResolver<Q extends FlexibleRelationalPathBase<R>,R,TQ extends FlexibleRelationalPathBase<TR>,TR>
- All Superinterfaces:
ItemRelationResolver<Q,
R, TQ, TR>
- All Known Implementing Classes:
ContainerTableRelationResolver
,CountMappingResolver
,ExtensionMappingResolver
,NestedMappingResolver
,ShadowReferenceAttributesResolver
public interface SqaleItemRelationResolver<Q extends FlexibleRelationalPathBase<R>,R,TQ extends FlexibleRelationalPathBase<TR>,TR>
extends ItemRelationResolver<Q,R,TQ,TR>
Extension of
ItemRelationResolver
, this is a common contract for resolver
that helps with navigating over complex (non-single) item paths for both query
and application of delta modification.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.repo.sqlbase.mapping.ItemRelationResolver
ItemRelationResolver.ResolutionResult<TQ extends FlexibleRelationalPathBase<TR>,
TR> -
Method Summary
Modifier and TypeMethodDescriptionSqaleUpdateContext<?,
?, ?> resolve
(SqaleUpdateContext<?, Q, R> context, ItemPath itemPath) Resolves current query context to a new context (mapping is always part of context).Methods inherited from interface com.evolveum.midpoint.repo.sqlbase.mapping.ItemRelationResolver
resolve, resolve, resolveUsingJoin
-
Method Details
-
resolve
SqaleUpdateContext<?,?, resolve?> (SqaleUpdateContext<?, Q, throws RepositoryExceptionR> context, ItemPath itemPath) 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.- Throws:
RepositoryException
-