Class QShadowMapping
java.lang.Object
com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping<S,Q,R>
com.evolveum.midpoint.repo.sqlbase.mapping.QueryTableMapping<S,Q,R>
com.evolveum.midpoint.repo.sqale.mapping.SqaleTableMapping<S,Q,R>
com.evolveum.midpoint.repo.sqale.qmodel.object.QObjectMapping<ShadowType,QShadow,MShadow>
com.evolveum.midpoint.repo.sqale.qmodel.shadow.QShadowMapping
- All Implemented Interfaces:
SqaleMappingMixin<ShadowType,QShadow, MShadow>
Mapping between
QShadow and ShadowType.-
Field Summary
FieldsFields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping
logger -
Method Summary
Modifier and TypeMethodDescriptionstatic QShadowMappingstatic QShadowMappinginitShadowMapping(@NotNull SqaleRepoContext repositoryContext) protected QShadownewAliasInstance(String alias) Method returning new instance ofEntityPath- to be implemented by sub-mapping.@NotNull com.querydsl.core.types.Path<?>[]selectExpressions(QShadow entity, Collection<SelectorOptions<GetOperationOptions>> options) By default, usesQueryTableMapping.selectExpressionsWithCustomColumns(Q)and does not use options.@NotNull MShadowtoRowObjectWithoutFullObject(ShadowType shadow, JdbcSession jdbcSession) Override this to fill additional row attributes after calling this super version.toSchemaObject(@NotNull com.querydsl.core.Tuple row, @NotNull QShadow entityPath, @NotNull JdbcSession jdbcSession, Collection<SelectorOptions<GetOperationOptions>> options) Transforms row Tuple containingSqaleTableMappingunder entity path and extension columns.updateGetOptions(Collection<SelectorOptions<GetOperationOptions>> options, @NotNull Collection<? extends ItemDelta<?, ?>> modifications) Methods inherited from class com.evolveum.midpoint.repo.sqale.qmodel.object.QObjectMapping
getObjectMapping, initObjectMapping, isReindexSupported, setFullObject, storeRelatedEntities, toSchemaObjectCompleteSafeMethods inherited from class com.evolveum.midpoint.repo.sqale.mapping.SqaleTableMapping
addExtensionMapping, binaryMapper, booleanMapper, createFullObject, createRowTransformer, enumMapper, fullObjectItemsToSkip, insert, integerMapper, multiPolyStringMapper, multiStringMapper, multiUriMapper, multiValueMapper, needsInitialization, objectReference, objectReference, objectTypeToQName, parseSchemaObject, parseSchemaObject, polyStringMapper, processCacheableRelation, processCacheableUri, processCacheableUri, processCacheableUris, processExtensionColumns, processExtensions, repositoryContext, resolveIdToUri, resolveReferenceNames, resolveUriIdToQName, schemaTypeToObjectType, setPolyString, setReference, storeRefs, stringMapper, stringsToArray, timestampMapper, toSchemaObject, toSchemaObjectComplete, toSchemaObjectInternal, uriMapper, uuidMapperMethods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryTableMapping
addDetailFetchMapper, addExtensionColumn, defaultAlias, defaultAliasName, detailFetchMappers, getExtensionColumns, joinOn, longMapper, newAlias, prismContext, selectExpressionsWithCustomColumns, tableName, toStringMethods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping
addItemMapping, addRelationResolver, getItemMapper, getItemMappings, getRelationResolver, itemDefinition, itemMapper, queryType, relationResolver, schemaTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.repo.sqale.mapping.SqaleMappingMixin
addAuditRefMapping, addContainerTableMapping, addExtensionMapping, addItemMapping, addNestedMapping, addRefMapping, addRefMapping, addRelationResolver, afterModify, queryType
-
Field Details
-
DEFAULT_ALIAS_NAME
- See Also:
-
-
Method Details
-
initShadowMapping
public static QShadowMapping initShadowMapping(@NotNull @NotNull SqaleRepoContext repositoryContext) -
getShadowMapping
-
newAliasInstance
Description copied from class:QueryTableMappingMethod returning new instance ofEntityPath- to be implemented by sub-mapping. This will create entity path without any extension columns, seeQueryTableMapping.newAlias(java.lang.String)for that.- Overrides:
newAliasInstancein classQObjectMapping<ShadowType,QShadow, MShadow>
-
newRowObject
- Overrides:
newRowObjectin classQObjectMapping<ShadowType,QShadow, MShadow>
-
toRowObjectWithoutFullObject
@NotNull public @NotNull MShadow toRowObjectWithoutFullObject(ShadowType shadow, JdbcSession jdbcSession) Description copied from class:QObjectMappingOverride this to fill additional row attributes after calling this super version. *This must be called with active JDBC session* so it can create newQUrirows. As this is intended for inserts *DO NOT* setMObject.objectTypeto any value, it must be NULL otherwise the DB will complain about the value for the generated column. OID may be null, hence the method does NOT create any sub-entities, seeQObjectMapping.storeRelatedEntities(MObject, ObjectType, JdbcSession). Try to keep order of fields here, in M-class (MObject for this one) and in SQL the same.- Overrides:
toRowObjectWithoutFullObjectin classQObjectMapping<ShadowType,QShadow, MShadow>
-
toSchemaObject
public ShadowType toSchemaObject(@NotNull @NotNull com.querydsl.core.Tuple row, @NotNull @NotNull QShadow entityPath, @NotNull @NotNull JdbcSession jdbcSession, Collection<SelectorOptions<GetOperationOptions>> options) throws SchemaException Description copied from class:SqaleTableMappingTransforms row Tuple containingSqaleTableMappingunder entity path and extension columns. While public, for Sqale repo it should only be called for internal mapping purposes. *Do not call this in result list transformers* because the results would not have resolved reference names (if requested). Notice that the default implementation ofSqaleTableMapping.createRowTransformer(com.evolveum.midpoint.repo.sqlbase.SqlQueryContext<S, Q, R>, com.evolveum.midpoint.repo.sqlbase.JdbcSession)in this class callsSqaleTableMapping.toSchemaObjectCompleteSafe(com.querydsl.core.Tuple, Q, java.util.Collection<com.evolveum.midpoint.schema.SelectorOptions<com.evolveum.midpoint.schema.GetOperationOptions>>, com.evolveum.midpoint.repo.sqlbase.JdbcSession, boolean)which is the right thing to call in result list transformers.- Overrides:
toSchemaObjectin classQObjectMapping<ShadowType,QShadow, MShadow> - Throws:
SchemaException
-
updateGetOptions
public Collection<SelectorOptions<GetOperationOptions>> updateGetOptions(Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull Collection<? extends ItemDelta<?, ?>> modifications) - Overrides:
updateGetOptionsin classQueryTableMapping<ShadowType,QShadow, MShadow>
-
selectExpressions
@NotNull public @NotNull com.querydsl.core.types.Path<?>[] selectExpressions(QShadow entity, Collection<SelectorOptions<GetOperationOptions>> options) Description copied from class:QueryTableMappingBy default, usesQueryTableMapping.selectExpressionsWithCustomColumns(Q)and does not use options. Can be overridden to fulfil other needs, e.g. to select just full object.- Overrides:
selectExpressionsin classQObjectMapping<ShadowType,QShadow, MShadow>
-