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<S,Q,R>
  
com.evolveum.midpoint.repo.sqale.qmodel.object.QAssignmentHolderMapping<S,Q,R>
  
com.evolveum.midpoint.repo.sqale.qmodel.focus.QFocusMapping<S,Q,R>  
- Type Parameters:
- S- schema type for the focus object
- Q- type of entity path
- R- row type related to the- QFocusMapping
- All Implemented Interfaces:
- SqaleMappingMixin<S,- Q, - R> 
- Direct Known Subclasses:
- QAbstractRoleMapping,- QGenericObjectMapping,- QUserMapping
public class QFocusMapping<S extends FocusType,Q extends QFocus<R>,R extends MFocus>  
extends QAssignmentHolderMapping<S,Q,R>  
- 
Field SummaryFieldsFields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMappinglogger
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedQFocusMapping(@NotNull String tableName, @NotNull String defaultAliasName, @NotNull Class<S> schemaType, @NotNull Class<Q> queryType, @NotNull SqaleRepoContext repositoryContext) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected PathSetstatic QFocusMapping<?,?, ?> static QFocusMapping<?,?, ?> initFocusMapping(@NotNull SqaleRepoContext repositoryContext) protected QnewAliasInstance(String alias) Method returning new instance ofEntityPath- to be implemented by sub-mapping.@NotNull com.querydsl.core.types.Path<?>[]selectExpressions(Q entity, Collection<SelectorOptions<GetOperationOptions>> options) By default, usesQueryTableMapping.selectExpressionsWithCustomColumns(Q)and does not use options.voidstoreRelatedEntities(R row, S schemaObject, @NotNull JdbcSession jdbcSession) Stores other entities related to the main object row like containers, references, etc.toRowObjectWithoutFullObject(S focus, JdbcSession jdbcSession) Override this to fill additional row attributes after calling this super version.toSchemaObject(@NotNull com.querydsl.core.Tuple row, Q 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.QAssignmentHolderMappinggetAssignmentHolderMapping, initAssignmentHolderMappingMethods inherited from class com.evolveum.midpoint.repo.sqale.qmodel.object.QObjectMappinggetObjectMapping, initObjectMapping, isReindexSupported, setFullObject, toSchemaObjectCompleteSafeMethods inherited from class com.evolveum.midpoint.repo.sqale.mapping.SqaleTableMappingaddExtensionMapping, binaryMapper, booleanMapper, createFullObject, createRowTransformer, enumMapper, 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.QueryTableMappingaddDetailFetchMapper, addExtensionColumn, defaultAlias, defaultAliasName, detailFetchMappers, getExtensionColumns, joinOn, longMapper, newAlias, prismContext, selectExpressionsWithCustomColumns, tableName, toStringMethods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMappingaddItemMapping, addRelationResolver, getItemMapper, getItemMappings, getRelationResolver, itemDefinition, itemMapper, queryType, relationResolver, schemaTypeMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.repo.sqale.mapping.SqaleMappingMixinaddAuditRefMapping, addContainerTableMapping, addExtensionMapping, addItemMapping, addNestedMapping, addRefMapping, addRefMapping, addRelationResolver, afterModify, queryType
- 
Field Details- 
DEFAULT_ALIAS_NAME- See Also:
 
 
- 
- 
Constructor Details- 
QFocusMapping
 
- 
- 
Method Details- 
initFocusMappingpublic static QFocusMapping<?,?, initFocusMapping?> (@NotNull @NotNull SqaleRepoContext repositoryContext) 
- 
getFocusMapping
- 
selectExpressions@NotNull public @NotNull com.querydsl.core.types.Path<?>[] selectExpressions(Q 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 class- QObjectMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
 
- 
newAliasInstanceDescription 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 class- QAssignmentHolderMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
 
- 
newRowObject- Overrides:
- newRowObjectin class- QObjectMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
 
- 
fullObjectItemsToSkip- Overrides:
- fullObjectItemsToSkipin class- SqaleTableMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
 
- 
toRowObjectWithoutFullObjectDescription 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 class- QObjectMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
 
- 
toSchemaObjectpublic S toSchemaObject(@NotNull @NotNull com.querydsl.core.Tuple row, @NotNull Q 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 class- QObjectMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
- Throws:
- SchemaException
 
- 
storeRelatedEntitiespublic void storeRelatedEntities(@NotNull R row, @NotNull S schemaObject, @NotNull @NotNull JdbcSession jdbcSession) throws SchemaException Description copied from class:QObjectMappingStores other entities related to the main object row like containers, references, etc. This is not part ofQObjectMapping.toRowObjectWithoutFullObject(S, com.evolveum.midpoint.repo.sqlbase.JdbcSession)because it requires known OID which is not assured before calling that method. *Always call this super method first in overriding methods.*- Overrides:
- storeRelatedEntitiesin class- QAssignmentHolderMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
- Parameters:
- row- master row for the added object("aggregate root")
- schemaObject- schema objects for which the details are stored
- jdbcSession- JDBC session used to insert related rows
- Throws:
- SchemaException
 
- 
updateGetOptionspublic Collection<SelectorOptions<GetOperationOptions>> updateGetOptions(Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull Collection<? extends ItemDelta<?, ?>> modifications) - Overrides:
- updateGetOptionsin class- QueryTableMapping<S extends FocusType,- Q extends QFocus<R>, - R extends MFocus> 
 
 
-