Skip to content

Commit 7c10a0f

Browse files
Tobias Bersefmbenhassine
Tobias Berse
authored andcommitted
Allow subclasses of items in CompositeItemReader's generics
Resolves #spring-projects-experimental/spring-batch-experimental#2
1 parent c6f5029 commit 7c10a0f

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/CompositeItemReader.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@
3232
*/
3333
public class CompositeItemReader<T> implements ItemStreamReader<T> {
3434

35-
private final List<ItemStreamReader<T>> delegates;
35+
private final List<ItemStreamReader<? extends T>> delegates;
3636

37-
private final Iterator<ItemStreamReader<T>> delegatesIterator;
37+
private final Iterator<ItemStreamReader<? extends T>> delegatesIterator;
3838

39-
private ItemStreamReader<T> currentDelegate;
39+
private ItemStreamReader<? extends T> currentDelegate;
4040

4141
/**
4242
* Create a new {@link CompositeItemReader}.
4343
* @param delegates the delegate readers to read data
4444
*/
45-
public CompositeItemReader(List<ItemStreamReader<T>> delegates) {
45+
public CompositeItemReader(List<ItemStreamReader<? extends T>> delegates) {
4646
this.delegates = delegates;
4747
this.delegatesIterator = this.delegates.iterator();
4848
this.currentDelegate = this.delegatesIterator.hasNext() ? this.delegatesIterator.next() : null;
@@ -52,7 +52,7 @@ public CompositeItemReader(List<ItemStreamReader<T>> delegates) {
5252
// opening resources early for a long time
5353
@Override
5454
public void open(ExecutionContext executionContext) throws ItemStreamException {
55-
for (ItemStreamReader<T> delegate : delegates) {
55+
for (ItemStreamReader<? extends T> delegate : delegates) {
5656
delegate.open(executionContext);
5757
}
5858
}
@@ -79,7 +79,7 @@ public void update(ExecutionContext executionContext) throws ItemStreamException
7979

8080
@Override
8181
public void close() throws ItemStreamException {
82-
for (ItemStreamReader<T> delegate : delegates) {
82+
for (ItemStreamReader<? extends T> delegate : delegates) {
8383
delegate.close();
8484
}
8585
}

0 commit comments

Comments
 (0)