Class QContainerWithFullObjectMapping<S extends Containerable,Q extends QContainerWithFullObject<R,OR>,R extends MContainerWithFullObject,OR>
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.common.QContainerMapping<S,Q,R,OR>
com.evolveum.midpoint.repo.sqale.qmodel.common.QContainerWithFullObjectMapping<S,Q,R,OR>
- All Implemented Interfaces:
QOwnedByMapping<S,
,R, OR> SqaleMappingMixin<S,
,Q, R> QSeparatelySerializedItem<Q,
R>
- Direct Known Subclasses:
QAssignmentMapping
,QFocusIdentityMapping
,QOperationExecutionMapping
public abstract class QContainerWithFullObjectMapping<S extends Containerable,Q extends QContainerWithFullObject<R,OR>,R extends MContainerWithFullObject,OR>
extends QContainerMapping<S,Q,R,OR>
implements QSeparatelySerializedItem<Q,R>
-
Field Summary
Fields inherited from class com.evolveum.midpoint.repo.sqale.qmodel.common.QContainerMapping
DEFAULT_ALIAS_NAME
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping
logger
-
Constructor Summary
ModifierConstructorDescriptionprotected
QContainerWithFullObjectMapping
(@NotNull String tableName, @NotNull String defaultAliasName, @NotNull Class<S> schemaType, @NotNull Class<Q> queryType, @NotNull SqaleRepoContext repositoryContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
afterModify
(SqaleUpdateContext<S, Q, R> updateContext) Method called from `SqaleUpdateContext.finishExecutionOwn()` for containers.com.querydsl.core.types.Predicate
allOwnedBy
(Q q, Collection<UUID> oidList) protected abstract CheckedFunction<SchemaRegistryState,
ItemDefinition<?>, SystemException> protected abstract SchemaRegistryState.DerivationKey<ItemDefinition<?>>
com.querydsl.core.types.Path<?>[]
fullObjectExpressions
(Q base) abstract ItemPath
Class<? extends Item<? extends PrismValue,
?>> boolean
hasFullObject
(com.querydsl.core.Tuple row, Q path) initRowObjectWithFullObject
(S schemaObject, OR ownerRow) final S
toSchemaObject
(R row) Implemented for searchable containers that do not use fullObject for their recreation.toSchemaObjectEmbedded
(com.querydsl.core.Tuple tuple, Q alias) protected abstract S
toSchemaObjectLegacy
(R row) boolean
Methods inherited from class com.evolveum.midpoint.repo.sqale.qmodel.common.QContainerMapping
attachContainerIdPath, attachOwnerOid, containerDepth, containerIdentityPredicate, containerIdPath, initContainerMapping, initRowObject, insert, newAliasInstance, newRowObject, selectExpressions, toSchemaObject
Methods inherited from class com.evolveum.midpoint.repo.sqale.mapping.SqaleTableMapping
addExtensionMapping, binaryMapper, booleanMapper, createFullObject, createRowTransformer, doubleMapper, enumMapper, fullObjectItemsToSkip, getDefinition, getPartitionManager, 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, toSchemaObjectComplete, toSchemaObjectCompleteSafe, toSchemaObjectInternal, uriMapper, uuidMapper
Methods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryTableMapping
addDetailFetchMapper, addExtensionColumn, defaultAlias, defaultAliasName, detailFetchMappers, getExtensionColumns, joinOn, longMapper, newAlias, newRowObject, prismContext, selectExpressionsWithCustomColumns, tableName, toString, updateGetOptions
Methods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping
addItemMapping, addRelationResolver, getItemMapper, getItemMappings, getRelationResolver, itemDefinition, itemMapper, queryType, relationResolver, schemaType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.repo.sqale.qmodel.object.QSeparatelySerializedItem
orderSpecifier, tableName
Methods inherited from interface com.evolveum.midpoint.repo.sqale.mapping.SqaleMappingMixin
addAuditRefMapping, addContainerTableMapping, addExtensionMapping, addItemMapping, addNestedMapping, addRefMapping, addRefMapping, addRelationResolver, queryType
-
Constructor Details
-
QContainerWithFullObjectMapping
-
-
Method Details
-
getItemPath
- Specified by:
getItemPath
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
initRowObjectWithFullObject
- Throws:
SchemaException
-
afterModify
Description copied from interface:SqaleMappingMixin
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.- Specified by:
afterModify
in interfaceSqaleMappingMixin<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>, R extends MContainerWithFullObject> - Throws:
SchemaException
-
toSchemaObject
Description copied from class:QContainerMapping
Implemented for searchable containers that do not use fullObject for their recreation.- Overrides:
toSchemaObject
in classQContainerMapping<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>, R extends MContainerWithFullObject, OR> - Throws:
SchemaException
-
toSchemaObjectLegacy
- Throws:
SchemaException
-
allOwnedBy
- Specified by:
allOwnedBy
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
hasFullObject
- Specified by:
hasFullObject
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
fullObjectExpressions
- Specified by:
fullObjectExpressions
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
getOwner
- Specified by:
getOwner
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
toSchemaObjectEmbedded
public PrismValue toSchemaObjectEmbedded(com.querydsl.core.Tuple tuple, Q alias) throws SchemaException - Specified by:
toSchemaObjectEmbedded
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>> - Throws:
SchemaException
-
getPrismItemType
- Specified by:
getPrismItemType
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
createAlias
- Specified by:
createAlias
in interfaceQSeparatelySerializedItem<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>>
-
useDeltaApplyResults
public boolean useDeltaApplyResults()- Overrides:
useDeltaApplyResults
in classQContainerMapping<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>, R extends MContainerWithFullObject, OR>
-
definitionDerivationKey
- Overrides:
definitionDerivationKey
in classSqaleTableMapping<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>, R extends MContainerWithFullObject>
-
definitionDerivation
protected abstract CheckedFunction<SchemaRegistryState,ItemDefinition<?>, definitionDerivation()SystemException> - Overrides:
definitionDerivation
in classSqaleTableMapping<S extends Containerable,
Q extends QContainerWithFullObject<R, OR>, R extends MContainerWithFullObject>
-