Interface PersistenceGenerator.StatementGenerator
- Enclosing interface:
PersistenceGenerator
public static interface PersistenceGenerator.StatementGenerator
Persistence code snippets generator.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addDynamicDml
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic DML statement.addDynamicPageQueries
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, String dataQueryStatement, String countQueryStatement, TypeName returnType) Add code to create dynamic queries forPage
.addDynamicSliceQuery
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, String dataQueryStatement, TypeName returnType) Add code to create dynamic query forSlice
.void
addExecuteDml
(Method.Builder builder, PersistenceGenerator.Query dml) Add code to execute DML statement.void
addExecuteDynamicQueryItem
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute query and return singlereturnType
instance.void
addExecuteDynamicQueryItemOrNull
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute query and return singlereturnType
instance ornull
.void
addExecuteDynamicQueryList
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic query and returnList
ofreturnType
instances.void
addExecuteDynamicQueryStream
(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic query and returnStream
ofreturnType
instances.void
addExecuteQueryItem
(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and return singlereturnType
instance.void
addExecuteQueryItemOrNull
(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and return singlereturnType
instance ornull
.void
addExecuteQueryList
(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and returnList
ofreturnType
instances.void
addExecuteQueryStream
(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and returnStream
ofreturnType
instances.void
addExecuteSimpleDml
(Method.Builder builder, String dml) Add code to execute DML statement with no parameters.void
addExecuteSimpleQueryItem
(Method.Builder builder, String query, TypeName returnType) Add code to execute query on entity and return singlereturnType
instance.void
addExecuteSimpleQueryList
(Method.Builder builder, String query, TypeName entity) Add code to execute query on entity and returnList
of entity instances.void
addExecuteSimpleQueryStream
(Method.Builder builder, String query, TypeName entity) Add code to execute query on entity and returnStream
of entity instances.void
addFind
(Method.Builder builder, String identifier, TypeName entity) Add code to find entity by primary key.void
addMerge
(Method.Builder builder, String identifier) Add code to merge single entity.void
addMergeCollection
(Method.Builder builder, String identifier, String merged) Add code to merge entitiesCollection
.void
addPersist
(Method.Builder builder, String identifier) Add code to persist single entity.void
addPersistCollection
(Method.Builder builder, String identifier) Add code to persist entitiesCollection
.void
addQueryCount
(Method.Builder builder, PersistenceGenerator.Query query) AddCOUNT
query from provided query.void
addQueryCount
(Method.Builder builder, Consumer<Method.Builder> queryContent, List<PersistenceGenerator.QuerySettings> settings, TypeName returnType) AddCOUNT
query from provided query.void
addQueryItem
(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add query from provided query.void
addQueryPage
(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType, String firstResult, String maxResults) Add code to create query and returnList
ofreturnType
instances with pagination applied.void
addQueryPage
(Method.Builder builder, Consumer<Method.Builder> queryContent, List<PersistenceGenerator.QuerySettings> settings, TypeName returnType, String firstResult, String maxResults) Add code to create query and returnList
ofreturnType
instances with pagination applied.void
addRemove
(Method.Builder builder, String identifier) Add code to remove single entity.void
addRemoveCollection
(Method.Builder builder, String identifier) Add code to remove entitiesCollection
.void
addSessionLambda
(Method.Builder builder, Consumer<Method.Builder> content) Add code with persistence session lambda expression.void
addSessionLambdaBlock
(Method.Builder builder, Consumer<Method.Builder> content) Add code with persistence session lambda block.void
addUpdate
(Method.Builder builder, String executor, String identifier, TypeName entity) Add code to update entity.void
addUpdateAll
(Method.Builder builder, String executor, String srcEntities, String updatedEntities, TypeName entity) Add code to update entity.Repository executor type.
-
Method Details
-
executorType
TypeName executorType()Repository executor type.- Returns:
- the type of the executor
-
addPersist
Add code to persist single entity.- Parameters:
builder
- method builderidentifier
- entity identifier
-
addMerge
Add code to merge single entity.- Parameters:
builder
- method builderidentifier
- entity identifier
-
addPersistCollection
Add code to persist entitiesCollection
.- Parameters:
builder
- method builderidentifier
- entity identifier
-
addMergeCollection
Add code to merge entitiesCollection
.- Parameters:
builder
- method builderidentifier
- entity identifiermerged
- merged collection identifier
-
addRemove
Add code to remove single entity.- Parameters:
builder
- method builderidentifier
- entity identifier
-
addRemoveCollection
Add code to remove entitiesCollection
.- Parameters:
builder
- method builderidentifier
- entity identifier
-
addFind
Add code to find entity by primary key.- Parameters:
builder
- method builderidentifier
- primary key identitiferentity
- entity class name
-
addUpdate
Add code to update entity.- Parameters:
builder
- method builderexecutor
- executor identifieridentifier
- entity identifierentity
- entity class name
-
addUpdateAll
void addUpdateAll(Method.Builder builder, String executor, String srcEntities, String updatedEntities, TypeName entity) Add code to update entity.- Parameters:
builder
- method builderexecutor
- executor identifiersrcEntities
- source entities collection identifierupdatedEntities
- updated entities collection identifierentity
- entity class name
-
addExecuteSimpleQueryItem
Add code to execute query on entity and return singlereturnType
instance.- Parameters:
builder
- method builderquery
- query stringreturnType
- query result type
-
addExecuteSimpleQueryList
Add code to execute query on entity and returnList
of entity instances.- Parameters:
builder
- method builderquery
- query stringentity
- entity class name
-
addExecuteSimpleQueryStream
Add code to execute query on entity and returnStream
of entity instances.- Parameters:
builder
- method builderquery
- query stringentity
- entity class name
-
addExecuteQueryItem
void addExecuteQueryItem(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and return singlereturnType
instance.- Parameters:
builder
- method builderquery
- query generated codereturnType
- query result type
-
addExecuteDynamicQueryItem
void addExecuteDynamicQueryItem(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute query and return singlereturnType
instance.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modelreturnType
- query result type
-
addExecuteQueryItemOrNull
void addExecuteQueryItemOrNull(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and return singlereturnType
instance ornull
. Requires Jakarta Persistence 3.2.- Parameters:
builder
- method builderquery
- query generated codereturnType
- query result type
-
addExecuteDynamicQueryItemOrNull
void addExecuteDynamicQueryItemOrNull(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute query and return singlereturnType
instance ornull
. Requires Jakarta Persistence 3.2.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modelreturnType
- query result type
-
addExecuteQueryList
void addExecuteQueryList(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and returnList
ofreturnType
instances.- Parameters:
builder
- method builderquery
- query generated codereturnType
- query result type
-
addExecuteDynamicQueryList
void addExecuteDynamicQueryList(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic query and returnList
ofreturnType
instances.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modelreturnType
- query result type
-
addExecuteQueryStream
void addExecuteQueryStream(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and returnStream
ofreturnType
instances.- Parameters:
builder
- method builderquery
- query generated codereturnType
- query result type
-
addExecuteDynamicQueryStream
void addExecuteDynamicQueryStream(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic query and returnStream
ofreturnType
instances.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modelreturnType
- query result type
-
addQueryItem
Add query from provided query.- Parameters:
builder
- method builderquery
- query generated codereturnType
- query result type
-
addQueryPage
void addQueryPage(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType, String firstResult, String maxResults) Add code to create query and returnList
ofreturnType
instances with pagination applied.- Parameters:
builder
- method builderquery
- query generated codereturnType
- query result typefirstResult
- position of the first result to retrievemaxResults
- maximum number of results to retrieve
-
addQueryPage
void addQueryPage(Method.Builder builder, Consumer<Method.Builder> queryContent, List<PersistenceGenerator.QuerySettings> settings, TypeName returnType, String firstResult, String maxResults) Add code to create query and returnList
ofreturnType
instances with pagination applied.- Parameters:
builder
- method builderqueryContent
- query parameter contentsettings
- query settingsreturnType
- query result typefirstResult
- position of the first result to retrievemaxResults
- maximum number of results to retrieve
-
addQueryCount
AddCOUNT
query from provided query.- Parameters:
builder
- method builderquery
- query generated code
-
addQueryCount
void addQueryCount(Method.Builder builder, Consumer<Method.Builder> queryContent, List<PersistenceGenerator.QuerySettings> settings, TypeName returnType) AddCOUNT
query from provided query.- Parameters:
builder
- method builderqueryContent
- query parameter contentsettings
- query settingsreturnType
- query result type
-
addDynamicSliceQuery
List<PersistenceGenerator.QuerySettings> addDynamicSliceQuery(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, String dataQueryStatement, TypeName returnType) Add code to create dynamic query forSlice
. Slice requires data query to returnList
ofreturnType
instances.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modeldataQueryStatement
- name of the data query statement (used in following code to createPage
)returnType
- query result type- Returns:
- settings query settings
-
addDynamicPageQueries
List<PersistenceGenerator.QuerySettings> addDynamicPageQueries(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, String dataQueryStatement, String countQueryStatement, TypeName returnType) Add code to create dynamic queries forPage
. Page requires data query to returnList
ofreturnType
instances and additional query to count size of the query result across all pages.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modeldataQueryStatement
- name of the data query statement (used in following code to createPage
)countQueryStatement
- name of the count query statement (used in following code to createPage
)returnType
- query result type- Returns:
- settings query settings
-
addExecuteSimpleDml
Add code to execute DML statement with no parameters.- Parameters:
builder
- method builderdml
- DML statement string
-
addExecuteDml
Add code to execute DML statement.- Parameters:
builder
- method builderdml
- DML statement string
-
addDynamicDml
void addDynamicDml(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic DML statement.- Parameters:
builder
- method builderrepositoryInfo
- data repository interface infomethodInfo
- method descriptormethodParams
- method parametersdataQuery
- query abstract modelreturnType
- query result type
-
addSessionLambda
Add code with persistence session lambda expression.- Parameters:
builder
- method buildercontent
- additional statement content
-
addSessionLambdaBlock
Add code with persistence session lambda block.- Parameters:
builder
- method buildercontent
- additional statement content
-