Class ContainerTableUpdateContext<S extends Containerable,Q extends QContainer<R,OR>,R extends MContainer,OR>
java.lang.Object
com.evolveum.midpoint.repo.sqale.update.SqaleUpdateContext<S,Q,R>
com.evolveum.midpoint.repo.sqale.update.ContainerTableUpdateContext<S,Q,R,OR>
- Type Parameters:
S
- schema type of the container stored in the owned tableQ
- type of entity path for the owned (child) tableR
- row type related to theContainerTableUpdateContext
OR
- owner row type
public class ContainerTableUpdateContext<S extends Containerable,Q extends QContainer<R,OR>,R extends MContainer,OR>
extends SqaleUpdateContext<S,Q,R>
Update context for multi-value containers stored in separate table.
This can be owned by the root object or another container.
-
Field Summary
Fields inherited from class com.evolveum.midpoint.repo.sqale.update.SqaleUpdateContext
jdbcSession, logger, parentContext, row, subcontexts
-
Constructor Summary
ConstructorDescriptionContainerTableUpdateContext
(SqaleUpdateContext<?, ?, OR> parentContext, QContainerMapping<S, Q, R, OR> mapping, R row) Creates the context for container component of the path, skeleton/fake row of the container with pre-filled CID and FK referencing the owner row must be provided. -
Method Summary
Modifier and TypeMethodDescriptionReturns entity path (table) for the context.protected void
Executes updates if applicable, nothing is done if set methods were not used.mapping()
<P extends com.querydsl.core.types.Path<T>,
T>
voidset
(P path, com.querydsl.core.types.Expression<T> value) <P extends com.querydsl.core.types.Path<T>,
T>
voidset
(P path, T value) <P extends com.querydsl.core.types.Path<T>,
T>
voidsetNull
(P path) com.querydsl.sql.dml.SQLUpdateClause
update()
Methods inherited from class com.evolveum.midpoint.repo.sqale.update.SqaleUpdateContext
addSubcontext, findValueOrItem, findValueOrItem, finishExecution, getSubcontext, insertOwnedRow, isOverwrittenId, jdbcSession, repositoryContext, row
-
Constructor Details
-
ContainerTableUpdateContext
public ContainerTableUpdateContext(SqaleUpdateContext<?, ?, OR> parentContext, QContainerMapping<S, Q, R, OR> mapping, R row) Creates the context for container component of the path, skeleton/fake row of the container with pre-filled CID and FK referencing the owner row must be provided.
-
-
Method Details
-
entityPath
Description copied from class:SqaleUpdateContext
Returns entity path (table) for the context. This is NOT the path for item column, which can be actually multiple columns (ref, poly) or just part of the value in the column (JSONB).- Specified by:
entityPath
in classSqaleUpdateContext<S extends Containerable,
Q extends QContainer<R, OR>, R extends MContainer>
-
mapping
- Specified by:
mapping
in classSqaleUpdateContext<S extends Containerable,
Q extends QContainer<R, OR>, R extends MContainer>
-
update
public com.querydsl.sql.dml.SQLUpdateClause update() -
set
public <P extends com.querydsl.core.types.Path<T>,T> void set(P path, T value) - Specified by:
set
in classSqaleUpdateContext<S extends Containerable,
Q extends QContainer<R, OR>, R extends MContainer>
-
set
public <P extends com.querydsl.core.types.Path<T>,T> void set(P path, com.querydsl.core.types.Expression<T> value) - Specified by:
set
in classSqaleUpdateContext<S extends Containerable,
Q extends QContainer<R, OR>, R extends MContainer>
-
setNull
public <P extends com.querydsl.core.types.Path<T>,T> void setNull(P path) - Specified by:
setNull
in classSqaleUpdateContext<S extends Containerable,
Q extends QContainer<R, OR>, R extends MContainer>
-
finishExecutionOwn
Executes updates if applicable, nothing is done if set methods were not used.- Specified by:
finishExecutionOwn
in classSqaleUpdateContext<S extends Containerable,
Q extends QContainer<R, OR>, R extends MContainer> - Throws:
SchemaException
-