- 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<Referencable,Q,R>
-
- com.evolveum.midpoint.repo.sqale.qmodel.ref.QReferenceMapping<QObjectReference<OR>,MReference,OQ,OR>
-
- com.evolveum.midpoint.repo.sqale.qmodel.ref.QObjectReferenceMapping<OQ,OR>
-
- Type Parameters:
OQ- query type of the reference ownerOR- row type of the reference owner (related toQObjectReferenceMapping)
- All Implemented Interfaces:
QOwnedByMapping<Referencable,MReference,OR>,SqaleMappingMixin<Referencable,QObjectReference<OR>,MReference>
public class QObjectReferenceMapping<OQ extends QObject<OR>,OR extends MObject> extends QReferenceMapping<QObjectReference<OR>,MReference,OQ,OR>
Mapping betweenQObjectReferenceandObjectReferenceType. The mapping is the same for all sub-tables, see various static `get*()` methods below. Mapping instances are initialized (`init*()` methods) inQObjectMappingsubclasses. Both `init*` and `get*` methods are flexibly parametrized to adapt to the client code. Init methods can be called multiple times, only one instance for each sub-tables is created.
-
-
Field Summary
Fields Modifier and Type Field Description static QObjectReferenceMapping<?,?>instanceArchetypestatic QObjectReferenceMapping<?,?>instanceCreateApproverstatic QObjectReferenceMapping<?,?>instanceDelegatedstatic QObjectReferenceMapping<QObjectTemplate,MObject>instanceIncludestatic QObjectReferenceMapping<?,?>instanceModifyApproverstatic QObjectReferenceMapping<?,?>instanceParentOrgstatic QObjectReferenceMapping<?,?>instancePersonastatic QObjectReferenceMapping<?,?>instanceProjectionstatic QObjectReferenceMapping<QResource,MResource>instanceResourceBusinessConfigurationApproverstatic QObjectReferenceMapping<?,?>instanceRoleMembership-
Fields inherited from class com.evolveum.midpoint.repo.sqale.qmodel.ref.QReferenceMapping
DEFAULT_ALIAS_NAME
-
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.mapping.QueryModelMapping
logger
-
-
Method Summary
-
Methods inherited from class com.evolveum.midpoint.repo.sqale.qmodel.ref.QReferenceMapping
init, insert
-
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, toSchemaObject, 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, selectExpressions, 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
-
instanceArchetype
public static QObjectReferenceMapping<?,?> instanceArchetype
-
instanceDelegated
public static QObjectReferenceMapping<?,?> instanceDelegated
-
instanceInclude
public static QObjectReferenceMapping<QObjectTemplate,MObject> instanceInclude
-
instanceProjection
public static QObjectReferenceMapping<?,?> instanceProjection
-
instanceCreateApprover
public static QObjectReferenceMapping<?,?> instanceCreateApprover
-
instanceModifyApprover
public static QObjectReferenceMapping<?,?> instanceModifyApprover
-
instanceParentOrg
public static QObjectReferenceMapping<?,?> instanceParentOrg
-
instancePersona
public static QObjectReferenceMapping<?,?> instancePersona
-
instanceResourceBusinessConfigurationApprover
public static QObjectReferenceMapping<QResource,MResource> instanceResourceBusinessConfigurationApprover
-
instanceRoleMembership
public static QObjectReferenceMapping<?,?> instanceRoleMembership
-
-
Method Detail
-
initForArchetype
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForArchetype(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForArchetype
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForArchetype()
-
initForDelegated
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForDelegated(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForDelegated
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForDelegated()
-
initForInclude
public static QObjectReferenceMapping<QObjectTemplate,MObject> initForInclude(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForInclude
public static QObjectReferenceMapping<QObjectTemplate,MObject> getForInclude()
-
initForProjection
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForProjection(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForProjection
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForProjection()
-
initForCreateApprover
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForCreateApprover(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForCreateApprover
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForCreateApprover()
-
initForModifyApprover
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForModifyApprover(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForModifyApprover
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForModifyApprover()
-
initForParentOrg
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForParentOrg(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForParentOrg
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForParentOrg()
-
initForPersona
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForPersona(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForPersona
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForPersona()
-
initForResourceBusinessConfigurationApprover
public static QObjectReferenceMapping<QResource,MResource> initForResourceBusinessConfigurationApprover(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForResourceBusinessConfigurationApprover
public static QObjectReferenceMapping<QResource,MResource> getForResourceBusinessConfigurationApprover()
-
initForRoleMembership
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> initForRoleMembership(@NotNull @NotNull SqaleRepoContext repositoryContext)
-
getForRoleMembership
public static <Q extends QObject<R>,R extends MObject> QObjectReferenceMapping<Q,R> getForRoleMembership()
-
newAliasInstance
protected QObjectReference<OR> newAliasInstance(String alias)
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 classQReferenceMapping<QObjectReference<OR extends MObject>,MReference,OQ extends QObject<OR>,OR extends MObject>
-
newRowObject
public MReference newRowObject(MObject ownerRow)
Description copied from class:QReferenceMappingDefines a contract for creating the reference for the provided owner row.- Specified by:
newRowObjectin interfaceQOwnedByMapping<Referencable,MReference,OR extends MObject>- Overrides:
newRowObjectin classQReferenceMapping<QObjectReference<OR extends MObject>,MReference,OQ extends QObject<OR>,OR extends MObject>
-
correlationPredicate
public BiFunction<OQ,QObjectReference<OR>,com.querydsl.core.types.Predicate> correlationPredicate()
Description copied from class:QReferenceMappingReturns a bi-function that constructs correlation query predicate for owner and reference.- Overrides:
correlationPredicatein classQReferenceMapping<QObjectReference<OR extends MObject>,MReference,OQ extends QObject<OR>,OR extends MObject>
-
-