- 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 betweenQObjectReference
andObjectReferenceType
. The mapping is the same for all sub-tables, see various static `get*()` methods below. Mapping instances are initialized (`init*()` methods) inQObjectMapping
subclasses. 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<?,?>
instanceArchetype
static QObjectReferenceMapping<?,?>
instanceCreateApprover
static QObjectReferenceMapping<?,?>
instanceDelegated
static QObjectReferenceMapping<QObjectTemplate,MObject>
instanceInclude
static QObjectReferenceMapping<?,?>
instanceModifyApprover
static QObjectReferenceMapping<?,?>
instanceParentOrg
static QObjectReferenceMapping<?,?>
instancePersona
static QObjectReferenceMapping<?,?>
instanceProjection
static QObjectReferenceMapping<QResource,MResource>
instanceResourceBusinessConfigurationApprover
static 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: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 classQReferenceMapping<QObjectReference<OR extends MObject>,MReference,OQ extends QObject<OR>,OR extends MObject>
-
newRowObject
public MReference newRowObject(MObject ownerRow)
Description copied from class:QReferenceMapping
Defines a contract for creating the reference for the provided owner row.- Specified by:
newRowObject
in interfaceQOwnedByMapping<Referencable,MReference,OR extends MObject>
- Overrides:
newRowObject
in 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:QReferenceMapping
Returns a bi-function that constructs correlation query predicate for owner and reference.- Overrides:
correlationPredicate
in classQReferenceMapping<QObjectReference<OR extends MObject>,MReference,OQ extends QObject<OR>,OR extends MObject>
-
-