Interface SqaleMappingMixin<S,Q extends FlexibleRelationalPathBase<R>,R>
-
- Type Parameters:
S- schema typeQ- type of entity pathR- row type related to theSqaleMappingMixin
- All Known Implementing Classes:
QAbstractRoleMapping,QAccessCertificationCampaignMapping,QAccessCertificationCaseMapping,QAccessCertificationDefinitionMapping,QAccessCertificationWorkItemMapping,QAccessCertificationWorkItemReferenceMapping,QArchetypeMapping,QAssignmentHolderMapping,QAssignmentMapping,QAssignmentReferenceMapping,QAuditDeltaMapping,QAuditEventRecordMapping,QAuditRefValueMapping,QCaseMapping,QCaseWorkItemMapping,QCaseWorkItemReferenceMapping,QConnectorHostMapping,QConnectorMapping,QContainerMapping,QDashboardMapping,QFocusIdentityMapping,QFocusMapping,QFormMapping,QFunctionLibraryMapping,QGenericObjectMapping,QLookupTableMapping,QLookupTableRowMapping,QMarkMapping,QMessageTemplateMapping,QNodeMapping,QObjectCollectionMapping,QObjectMapping,QObjectReferenceMapping,QObjectTemplateMapping,QOperationExecutionMapping,QOrgMapping,QProcessedObjectEventMarkReferenceMapping,QProcessedObjectMapping,QReferenceMapping,QReportDataMapping,QReportMapping,QResourceMapping,QRoleMapping,QSecurityPolicyMapping,QSequenceMapping,QServiceMapping,QShadowMapping,QSimulationResultMapping,QSystemConfigurationMapping,QTaskMapping,QTriggerMapping,QUserMapping,QValuePolicyMapping,SqaleNestedMapping,SqaleTableMapping
public interface SqaleMappingMixin<S,Q extends FlexibleRelationalPathBase<R>,R>Mix of common mapping support methods that is needed on bothSqaleNestedMappingandSqaleTableMappingwhich are in separate branches of the hierarchy starting in repo-sqlbase - which is out of reach and sqale-specific functionality can't go there.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <TS,TQ extends QObject<TR>,TR extends MObject>
SqaleMappingMixin<S,Q,R>addAuditRefMapping(@NotNull QName itemName, @NotNull Function<Q,UuidPath> rootToOidPath, @Nullable Function<Q,com.querydsl.core.types.dsl.EnumPath<MObjectType>> rootToTypePath, @NotNull Function<Q,com.querydsl.core.types.dsl.StringPath> rootToTargetNamePath, @NotNull Supplier<QueryTableMapping<TS,TQ,TR>> targetMappingSupplier)Defines single-value reference mapping for query, columns embedded in the table.default <C extends Containerable,TQ extends QContainer<TR,R>,TR extends MContainer>
SqaleMappingMixin<S,Q,R>addContainerTableMapping(@NotNull ItemName itemName, @NotNull QContainerMapping<C,TQ,TR,R> containerMapping, @NotNull BiFunction<Q,TQ,com.querydsl.core.types.Predicate> joinPredicate)Defines table mapping for multi-value container owned by an object or another container.default SqaleMappingMixin<S,Q,R>addExtensionMapping(@NotNull ItemName itemName, @NotNull MExtItemHolderType holderType, @NotNull Function<Q,JsonbPath> rootToPath, @NotNull SqaleRepoContext repoContext)QueryModelMapping<S,Q,R>addItemMapping(@NotNull QName itemName, @NotNull ItemSqlMapper<Q,R> itemMapper)default <N extends Containerable>
SqaleNestedMapping<N,Q,R>addNestedMapping(@NotNull QName itemName, @NotNull Class<N> nestedSchemaType)Defines nested mapping for container embedded in the same table.default <TQ extends QReference<TR,R>,TR extends MReference>
SqaleMappingMixin<S,Q,R>addRefMapping(@NotNull QName itemName, @NotNull QReferenceMapping<TQ,TR,Q,R> referenceMapping)Defines multi-value reference mapping (refs in table) for both query and modifications.default <TS,TQ extends QObject<TR>,TR extends MObject>
SqaleMappingMixin<S,Q,R>addRefMapping(@NotNull QName itemName, @NotNull Function<Q,UuidPath> rootToOidPath, @Nullable Function<Q,com.querydsl.core.types.dsl.EnumPath<MObjectType>> rootToTypePath, @Nullable Function<Q,com.querydsl.core.types.dsl.NumberPath<Integer>> rootToRelationIdPath, @NotNull Supplier<QueryTableMapping<TS,TQ,TR>> targetMappingSupplier)Defines single-value reference mapping for both query and modifications, columns embedded in the table.QueryModelMapping<S,Q,R>addRelationResolver(@NotNull QName itemName, @NotNull ItemRelationResolver<Q,R,?,?> itemRelationResolver)default voidafterModify(SqaleUpdateContext<S,Q,R> updateContext)Method called from `SqaleUpdateContext.finishExecutionOwn()` for containers.Class<Q>queryType()
-
-
-
Method Detail
-
addRelationResolver
QueryModelMapping<S,Q,R> addRelationResolver(@NotNull @NotNull QName itemName, @NotNull @NotNull ItemRelationResolver<Q,R,?,?> itemRelationResolver)
-
addItemMapping
QueryModelMapping<S,Q,R> addItemMapping(@NotNull @NotNull QName itemName, @NotNull @NotNull ItemSqlMapper<Q,R> itemMapper)
-
addNestedMapping
default <N extends Containerable> SqaleNestedMapping<N,Q,R> addNestedMapping(@NotNull @NotNull QName itemName, @NotNull @NotNull Class<N> nestedSchemaType)
Defines nested mapping for container embedded in the same table. This includes path resolver for queries and delta processor for modifications.- Type Parameters:
N- schema type of the nested container
-
addRefMapping
default <TQ extends QReference<TR,R>,TR extends MReference> SqaleMappingMixin<S,Q,R> addRefMapping(@NotNull @NotNull QName itemName, @NotNull @NotNull QReferenceMapping<TQ,TR,Q,R> referenceMapping)
Defines multi-value reference mapping (refs in table) for both query and modifications.
-
addRefMapping
default <TS,TQ extends QObject<TR>,TR extends MObject> SqaleMappingMixin<S,Q,R> addRefMapping(@NotNull @NotNull QName itemName, @NotNull @NotNull Function<Q,UuidPath> rootToOidPath, @Nullable @Nullable Function<Q,com.querydsl.core.types.dsl.EnumPath<MObjectType>> rootToTypePath, @Nullable @Nullable Function<Q,com.querydsl.core.types.dsl.NumberPath<Integer>> rootToRelationIdPath, @NotNull @NotNull Supplier<QueryTableMapping<TS,TQ,TR>> targetMappingSupplier)
Defines single-value reference mapping for both query and modifications, columns embedded in the table.
-
addAuditRefMapping
default <TS,TQ extends QObject<TR>,TR extends MObject> SqaleMappingMixin<S,Q,R> addAuditRefMapping(@NotNull @NotNull QName itemName, @NotNull @NotNull Function<Q,UuidPath> rootToOidPath, @Nullable @Nullable Function<Q,com.querydsl.core.types.dsl.EnumPath<MObjectType>> rootToTypePath, @NotNull @NotNull Function<Q,com.querydsl.core.types.dsl.StringPath> rootToTargetNamePath, @NotNull @NotNull Supplier<QueryTableMapping<TS,TQ,TR>> targetMappingSupplier)
Defines single-value reference mapping for query, columns embedded in the table.
-
addContainerTableMapping
default <C extends Containerable,TQ extends QContainer<TR,R>,TR extends MContainer> SqaleMappingMixin<S,Q,R> addContainerTableMapping(@NotNull @NotNull ItemName itemName, @NotNull @NotNull QContainerMapping<C,TQ,TR,R> containerMapping, @NotNull @NotNull BiFunction<Q,TQ,com.querydsl.core.types.Predicate> joinPredicate)
Defines table mapping for multi-value container owned by an object or another container. This includes path resolver for queries and delta processor for modifications.- Type Parameters:
C- schema type of the container mapped to the target tableTQ- entity query type of the container tableTR- row type of the container table, related toSqaleMappingMixin
-
addExtensionMapping
default SqaleMappingMixin<S,Q,R> addExtensionMapping(@NotNull @NotNull ItemName itemName, @NotNull @NotNull MExtItemHolderType holderType, @NotNull @NotNull Function<Q,JsonbPath> rootToPath, @NotNull @NotNull SqaleRepoContext repoContext)
-
afterModify
default void afterModify(SqaleUpdateContext<S,Q,R> updateContext) throws SchemaException
Method called from `SqaleUpdateContext.finishExecutionOwn()` for containers. This can be handy when more than just column set is required, e.g. to refresh fullObject, etc.- Throws:
SchemaException
-
-