Class MongoItemReaderBuilder<T>
java.lang.Object
org.springframework.batch.item.data.builder.MongoItemReaderBuilder<T>
A builder implementation for the
MongoItemReader
- Since:
- 4.0
- Author:
- Glenn Renfro, Mahmoud Ben Hassine, Drummond Dawson, Parikshit Dutta
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Validates and builds aMongoItemReader
.collection
(String collection) Establish an optional collection that can be queried.currentItemCount
(int currentItemCount) Index for the current item.JSON defining the fields to be returned from the matching documents by MongoDB.JSON String telling MongoDB what index to use.A JSON formatted MongoDB jsonQuery.maxItemCount
(int maxItemCount) Configure the max number of items to be read.The name used to calculate the key within theExecutionContext
.pageSize
(int pageSize) The number of items to be read with each page.parameterValues
(Object... parameterValues) Values to be substituted in for each of the parameters in the query.parameterValues
(List<Object> parameterValues) List
of values to be substituted in for each of the parameters in the query.query
(org.springframework.data.mongodb.core.query.Query query) Provide a Spring Data MongoQuery
.saveState
(boolean saveState) Configure if the state of theItemStreamSupport
should be persisted within theExecutionContext
for restart purposes.Map
of property names/Sort.Direction
values to sort the input by.targetType
(Class<? extends T> targetType) The type of object to be returned for eachAbstractItemCountingItemStreamItemReader.read()
call.template
(org.springframework.data.mongodb.core.MongoOperations template) Used to perform operations against the MongoDB instance.
-
Field Details
-
pageSize
protected int pageSize
-
-
Constructor Details
-
MongoItemReaderBuilder
public MongoItemReaderBuilder()
-
-
Method Details
-
saveState
Configure if the state of theItemStreamSupport
should be persisted within theExecutionContext
for restart purposes.- Parameters:
saveState
- defaults to true- Returns:
- The current instance of the builder.
-
name
The name used to calculate the key within theExecutionContext
. Required ifsaveState(boolean)
is set to true.- Parameters:
name
- name of the reader instance- Returns:
- The current instance of the builder.
- See Also:
-
maxItemCount
Configure the max number of items to be read.- Parameters:
maxItemCount
- the max items to be read- Returns:
- The current instance of the builder.
- See Also:
-
currentItemCount
Index for the current item. Used on restarts to indicate where to start from.- Parameters:
currentItemCount
- current index- Returns:
- this instance for method chaining
- See Also:
-
template
public MongoItemReaderBuilder<T> template(org.springframework.data.mongodb.core.MongoOperations template) Used to perform operations against the MongoDB instance. Also handles the mapping of documents to objects.- Parameters:
template
- the MongoOperations instance to use- Returns:
- The current instance of the builder
- See Also:
-
MongoOperations
MongoItemReader.setTemplate(MongoOperations)
-
jsonQuery
A JSON formatted MongoDB jsonQuery. Parameterization of the provided jsonQuery is allowed via ?<index> placeholders where the <index> indicates the index of the parameterValue to substitute.- Parameters:
query
- JSON formatted Mongo jsonQuery- Returns:
- The current instance of the builder
- See Also:
-
targetType
The type of object to be returned for eachAbstractItemCountingItemStreamItemReader.read()
call.- Parameters:
targetType
- the type of object to return- Returns:
- The current instance of the builder
- See Also:
-
parameterValues
List
of values to be substituted in for each of the parameters in the query.- Parameters:
parameterValues
- values- Returns:
- The current instance of the builder
- See Also:
-
parameterValues
Values to be substituted in for each of the parameters in the query.- Parameters:
parameterValues
- values- Returns:
- The current instance of the builder
- See Also:
-
fields
JSON defining the fields to be returned from the matching documents by MongoDB.- Parameters:
fields
- JSON string that identifies the fields to sort by.- Returns:
- The current instance of the builder
- See Also:
-
sorts
public MongoItemReaderBuilder<T> sorts(Map<String, org.springframework.data.domain.Sort.Direction> sorts) Map
of property names/Sort.Direction
values to sort the input by.- Parameters:
sorts
- map of properties and direction to sort each.- Returns:
- The current instance of the builder
- See Also:
-
collection
Establish an optional collection that can be queried.- Parameters:
collection
- Mongo collection to be queried.- Returns:
- The current instance of the builder
- See Also:
-
hint
JSON String telling MongoDB what index to use.- Parameters:
hint
- string indicating what index to use.- Returns:
- The current instance of the builder
- See Also:
-
pageSize
The number of items to be read with each page.- Parameters:
pageSize
- the number of items- Returns:
- this instance for method chaining
- See Also:
-
query
Provide a Spring Data MongoQuery
. This will take precedence over a JSON configured query.- Parameters:
query
- Query to execute- Returns:
- this instance for method chaining
- See Also:
-
build
Validates and builds aMongoItemReader
.- Returns:
- a
MongoItemReader
-