Class QLookupTableMapping
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<LookupTableType,QLookupTable,MLookupTable>
  
com.evolveum.midpoint.repo.sqale.qmodel.lookuptable.QLookupTableMapping
- All Implemented Interfaces:
- SqaleMappingMixin<LookupTableType,- QLookupTable, - MLookupTable> 
public class QLookupTableMapping
extends QAssignmentHolderMapping<LookupTableType,QLookupTable,MLookupTable>  
Mapping between 
QLookupTable and LookupTableType.- 
Field SummaryFieldsFields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMappinglogger
- 
Method SummaryModifier and TypeMethodDescriptionprotected PathSetstatic QLookupTableMappingget()static QLookupTableMappinginit(@NotNull SqaleRepoContext repositoryContext) protected QLookupTablenewAliasInstance(String alias) Method returning new instance ofEntityPath- to be implemented by sub-mapping.voidstoreRelatedEntities(@NotNull MLookupTable lookupTable, @NotNull LookupTableType schemaObject, @NotNull JdbcSession jdbcSession) Stores other entities related to the main object row like containers, references, etc.toSchemaObjectInternal(com.querydsl.core.Tuple rowTuple, QLookupTable entityPath, Collection<SelectorOptions<GetOperationOptions>> options, @NotNull JdbcSession session, boolean forceFull) TODO: This should be merged with toSchemaObject and forceFull parameter should be deprecated.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, selectExpressions, setFullObject, toRowObjectWithoutFullObject, toSchemaObject, 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, uriMapper, uuidMapperMethods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryTableMappingaddDetailFetchMapper, addExtensionColumn, defaultAlias, defaultAliasName, detailFetchMappers, getExtensionColumns, joinOn, longMapper, newAlias, prismContext, selectExpressionsWithCustomColumns, tableName, toString, updateGetOptionsMethods 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:
 
 
- 
- 
Method Details- 
init
- 
get
- 
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<LookupTableType,- QLookupTable, - MLookupTable> 
 
- 
newRowObject- Overrides:
- newRowObjectin class- QObjectMapping<LookupTableType,- QLookupTable, - MLookupTable> 
 
- 
storeRelatedEntitiespublic void storeRelatedEntities(@NotNull @NotNull MLookupTable lookupTable, @NotNull @NotNull LookupTableType 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<LookupTableType,- QLookupTable, - MLookupTable> 
- Parameters:
- lookupTable- 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
 
- 
fullObjectItemsToSkip- Overrides:
- fullObjectItemsToSkipin class- SqaleTableMapping<LookupTableType,- QLookupTable, - MLookupTable> 
 
- 
toSchemaObjectInternalpublic LookupTableType toSchemaObjectInternal(com.querydsl.core.Tuple rowTuple, QLookupTable entityPath, Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull JdbcSession session, boolean forceFull) throws SchemaException Description copied from class:SqaleTableMappingTODO: This should be merged with toSchemaObject and forceFull parameter should be deprecated. Proper usage of updateGetOptions() should replace it - see QShadowMapping where toSchemaObject is overridden and force reindex works as well. In the meantime: This is "internal" method in the sense it can be overridden to customize the default transformation behavior. It is public so one mapper can call it on another mapper, but otherwise should not be called from repo service or similar places - these should useSqaleTableMapping.toSchemaObjectComplete(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). *Should I override this orSqaleTableMapping.toSchemaObject(R)that is called from this method?* Prefer overridingSqaleTableMapping.toSchemaObject(R)as we want to get rid of this version and forceFull flag. *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:
- toSchemaObjectInternalin class- SqaleTableMapping<LookupTableType,- QLookupTable, - MLookupTable> 
- forceFull- true when reindex is forced on the modified object, otherwise false
- Throws:
- SchemaException
 
 
-