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,QAffectedObjectReferenceMapping,QAffectedObjectsMapping,QArchetypeMapping,QAssignmentHolderMapping,QAssignmentMapping,QAssignmentMarkReferenceMapping,QAssignmentMetadataMapping,QAssignmentMetadataReferenceMapping,QAssignmentReferenceMapping,QAuditDeltaMapping,QAuditEventRecordMapping,QAuditRefValueMapping,QCaseMapping,QCaseWorkItemMapping,QCaseWorkItemReferenceMapping,QClusterDetectedPatternMapping,QClusterObjectMapping,QConnectorHostMapping,QConnectorMapping,QContainerMapping,QContainerWithFullObjectMapping,QDashboardMapping,QFocusIdentityMapping,QFocusMapping,QFormMapping,QFunctionLibraryMapping,QGenericObjectMapping,QLookupTableMapping,QLookupTableRowMapping,QMarkMapping,QMessageTemplateMapping,QNodeMapping,QObjectCollectionMapping,QObjectMapping,QObjectReferenceFullObjectMapping,QObjectReferenceMapping,QObjectTemplateMapping,QOperationExecutionMapping,QOrgMapping,QOutlierMapping,QOutlierPartitionMapping,QPolicyMapping,QProcessedObjectEventMarkReferenceMapping,QProcessedObjectMapping,QReferenceMapping,QReportDataMapping,QReportMapping,QResourceMapping,QRoleMapping,QSchemaMapping,QSecurityPolicyMapping,QSequenceMapping,QServiceMapping,QSessionObjectMapping,QShadowMapping,QShadowReferenceAttributeMapping,QSimulationResultMapping,QSystemConfigurationMapping,QTaskMapping,QTriggerMapping,QUserMapping,QValueMetadataMapping,QValuePolicyMapping,SqaleNestedMapping,SqaleTableMapping
public interface SqaleMappingMixin<S,Q extends FlexibleRelationalPathBase<R>,R>
Mix of common mapping support methods that is needed on both
SqaleNestedMapping
and SqaleTableMapping 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
Modifier and TypeMethodDescriptionaddAuditRefMapping(@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) 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.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.addRelationResolver(@NotNull QName itemName, @NotNull ItemRelationResolver<Q, R, ?, ?> itemRelationResolver) default voidafterModify(SqaleUpdateContext<S, Q, R> updateContext) Method called from `SqaleUpdateContext.finishExecutionOwn()` for containers.
-
Method Details
-
queryType
-
addRelationResolver
QueryModelMapping<S,Q, addRelationResolverR> (@NotNull @NotNull QName itemName, @NotNull @NotNull ItemRelationResolver<Q, R, ?, ?> itemRelationResolver) -
addItemMapping
QueryModelMapping<S,Q, addItemMappingR> (@NotNull @NotNull QName itemName, @NotNull @NotNull ItemSqlMapper<Q, R> itemMapper) -
addNestedMapping
default <N extends Containerable> SqaleNestedMapping<N,Q, addNestedMappingR> (@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>, SqaleMappingMixin<S,TR extends MReference> Q, addRefMappingR> (@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>, SqaleMappingMixin<S,TR extends MObject> Q, addRefMappingR> (@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>, SqaleMappingMixin<S,TR extends MObject> Q, addAuditRefMappingR> (@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, SqaleMappingMixin<S,R>, TR extends MContainer> Q, addContainerTableMappingR> (@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, addExtensionMappingR> (@NotNull @NotNull ItemName itemName, @NotNull @NotNull MExtItemHolderType holderType, @NotNull @NotNull Function<Q, JsonbPath> rootToPath, @NotNull @NotNull SqaleRepoContext repoContext) -
afterModify
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
-