Interface PersistenceGenerator.StatementGenerator
- Enclosing interface:
PersistenceGenerator
public static interface PersistenceGenerator.StatementGenerator
Persistence code snippets generator.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddDynamicDml(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.voidaddExecuteDml(Method.Builder builder, PersistenceGenerator.Query dml) Add code to execute DML statement.voidaddExecuteDynamicQueryItem(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute query and return singlereturnTypeinstance.voidaddExecuteDynamicQueryItemOrNull(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute query and return singlereturnTypeinstance ornull.voidaddExecuteDynamicQueryList(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic query and returnListofreturnTypeinstances.voidaddExecuteDynamicQueryStream(Method.Builder builder, RepositoryInfo repositoryInfo, TypedElementInfo methodInfo, MethodParams methodParams, DataQuery dataQuery, TypeName returnType) Add code to execute dynamic query and returnStreamofreturnTypeinstances.voidaddExecuteQueryItem(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and return singlereturnTypeinstance.voidaddExecuteQueryItemOrNull(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and return singlereturnTypeinstance ornull.voidaddExecuteQueryList(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and returnListofreturnTypeinstances.voidaddExecuteQueryStream(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add code to execute query and returnStreamofreturnTypeinstances.voidaddExecuteSimpleDml(Method.Builder builder, String dml) Add code to execute DML statement with no parameters.voidaddExecuteSimpleQueryItem(Method.Builder builder, String query, TypeName returnType) Add code to execute query on entity and return singlereturnTypeinstance.voidaddExecuteSimpleQueryList(Method.Builder builder, String query, TypeName entity) Add code to execute query on entity and returnListof entity instances.voidaddExecuteSimpleQueryStream(Method.Builder builder, String query, TypeName entity) Add code to execute query on entity and returnStreamof entity instances.voidaddFind(Method.Builder builder, String identifier, TypeName entity) Add code to find entity by primary key.voidaddMerge(Method.Builder builder, String identifier) Add code to merge single entity.voidaddMergeCollection(Method.Builder builder, String identifier, String merged) Add code to merge entitiesCollection.voidaddPersist(Method.Builder builder, String identifier) Add code to persist single entity.voidaddPersistCollection(Method.Builder builder, String identifier) Add code to persist entitiesCollection.voidaddQueryCount(Method.Builder builder, PersistenceGenerator.Query query) AddCOUNTquery from provided query.voidaddQueryCount(Method.Builder builder, Consumer<Method.Builder> queryContent, List<PersistenceGenerator.QuerySettings> settings, TypeName returnType) AddCOUNTquery from provided query.voidaddQueryItem(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType) Add query from provided query.voidaddQueryPage(Method.Builder builder, PersistenceGenerator.Query query, TypeName returnType, String firstResult, String maxResults) Add code to create query and returnListofreturnTypeinstances with pagination applied.voidaddQueryPage(Method.Builder builder, Consumer<Method.Builder> queryContent, List<PersistenceGenerator.QuerySettings> settings, TypeName returnType, String firstResult, String maxResults) Add code to create query and returnListofreturnTypeinstances with pagination applied.voidaddRemove(Method.Builder builder, String identifier) Add code to remove single entity.voidaddRemoveCollection(Method.Builder builder, String identifier) Add code to remove entitiesCollection.voidaddSessionLambda(Method.Builder builder, Consumer<Method.Builder> content) Add code with persistence session lambda expression.voidaddSessionLambdaBlock(Method.Builder builder, Consumer<Method.Builder> content) Add code with persistence session lambda block.voidaddUpdate(Method.Builder builder, String executor, String identifier, TypeName entity) Add code to update entity.voidaddUpdateAll(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 singlereturnTypeinstance.- Parameters:
builder- method builderquery- query stringreturnType- query result type
-
addExecuteSimpleQueryList
Add code to execute query on entity and returnListof entity instances.- Parameters:
builder- method builderquery- query stringentity- entity class name
-
addExecuteSimpleQueryStream
Add code to execute query on entity and returnStreamof 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 singlereturnTypeinstance.- 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 singlereturnTypeinstance.- 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 singlereturnTypeinstance 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 singlereturnTypeinstance 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 returnListofreturnTypeinstances.- 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 returnListofreturnTypeinstances.- 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 returnStreamofreturnTypeinstances.- 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 returnStreamofreturnTypeinstances.- 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 returnListofreturnTypeinstances 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 returnListofreturnTypeinstances 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
AddCOUNTquery 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) AddCOUNTquery 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 returnListofreturnTypeinstances.- 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 returnListofreturnTypeinstances 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
-