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 bothSqaleNestedMapping
andSqaleTableMapping
which 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 void
afterModify(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
-
-