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.
  • Method Details

    • resolve

      SqaleUpdateContext<?,?,?> resolve(SqaleUpdateContext<?,Q,R> context, ItemPath itemPath) throws RepositoryException
      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). Optional ItemPath 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