Class QResourceMapping
- 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<ResourceType,QResource,MResource>
-
- com.evolveum.midpoint.repo.sqale.qmodel.resource.QResourceMapping
-
- All Implemented Interfaces:
SqaleMappingMixin<ResourceType,QResource,MResource>
public class QResourceMapping extends QAssignmentHolderMapping<ResourceType,QResource,MResource>
Mapping betweenQResource
andResourceType
.
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_ALIAS_NAME
-
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping
logger
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static QResourceMapping
get()
static QResourceMapping
init(@NotNull SqaleRepoContext repositoryContext)
protected QResource
newAliasInstance(String alias)
Method returning new instance ofEntityPath
- to be implemented by sub-mapping.MResource
newRowObject()
void
storeRelatedEntities(@NotNull MResource row, @NotNull ResourceType schemaObject, @NotNull JdbcSession jdbcSession)
Stores other entities related to the main object row like containers, references, etc.@NotNull MResource
toRowObjectWithoutFullObject(ResourceType schemaObject, JdbcSession jdbcSession)
Override this to fill additional row attributes after calling this super version.-
Methods inherited from class com.evolveum.midpoint.repo.sqale.qmodel.object.QAssignmentHolderMapping
getAssignmentHolderMapping, initAssignmentHolderMapping
-
Methods inherited from class com.evolveum.midpoint.repo.sqale.qmodel.object.QObjectMapping
getObjectMapping, initObjectMapping, selectExpressions, setFullObject, toSchemaObject, toSchemaObjectCompleteSafe
-
Methods 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, uuidMapper
-
Methods inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryTableMapping
addDetailFetchMapper, addExtensionColumn, defaultAlias, defaultAliasName, detailFetchMappers, getExtensionColumns, joinOn, longMapper, newAlias, 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.mapping.SqaleMappingMixin
addAuditRefMapping, addContainerTableMapping, addItemMapping, addNestedMapping, addRefMapping, addRefMapping, addRelationResolver, afterModify, queryType
-
-
-
-
Field Detail
-
DEFAULT_ALIAS_NAME
public static final String DEFAULT_ALIAS_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public static QResourceMapping init(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
get
public static QResourceMapping get()
-
newAliasInstance
protected QResource newAliasInstance(String alias)
Description copied from class:QueryTableMapping
Method 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:
newAliasInstance
in classQAssignmentHolderMapping<ResourceType,QResource,MResource>
-
newRowObject
public MResource newRowObject()
- Overrides:
newRowObject
in classQObjectMapping<ResourceType,QResource,MResource>
-
toRowObjectWithoutFullObject
@NotNull public @NotNull MResource toRowObjectWithoutFullObject(ResourceType schemaObject, JdbcSession jdbcSession)
Description copied from class:QObjectMapping
Override this to fill additional row attributes after calling this super version. *This must be called with active JDBC session* so it can create newQUri
rows. As this is intended for inserts *DO NOT* setMObject.objectType
to 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:
toRowObjectWithoutFullObject
in classQObjectMapping<ResourceType,QResource,MResource>
-
storeRelatedEntities
public void storeRelatedEntities(@NotNull @NotNull MResource row, @NotNull @NotNull ResourceType schemaObject, @NotNull @NotNull JdbcSession jdbcSession) throws SchemaException
Description copied from class:QObjectMapping
Stores 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 know OID which is not assured before calling that method. *Always call this super method first in overriding methods.*- Overrides:
storeRelatedEntities
in classQAssignmentHolderMapping<ResourceType,QResource,MResource>
- Parameters:
row
- master row for the added object("aggregate root")schemaObject
- schema objects for which the details are storedjdbcSession
- JDBC session used to insert related rows- Throws:
SchemaException
-
-