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
Constructors Constructor Description 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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Q
entityPath()
Returns entity path (table) for the context.protected void
finishExecutionOwn()
Executes updates if applicable, nothing is done if set methods were not used.QContainerMapping<S,Q,R,OR>
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, finishExecution, getSubcontext, insertOwnedRow, isOverwrittenId, jdbcSession, repositoryContext, row
-
-
-
-
Constructor Detail
-
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 Detail
-
entityPath
public Q 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
public QContainerMapping<S,Q,R,OR> 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
protected void finishExecutionOwn() throws SchemaException
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
-
-