IN PROGRESS - BATCH-711: Upgrade ItemWriter and implementations to use parameterized types
This commit is contained in:
@@ -15,9 +15,9 @@ import org.springframework.batch.item.ItemWriter;
|
||||
*/
|
||||
public class CompositeItemWriter<T> implements ItemWriter<T> {
|
||||
|
||||
private List<ItemWriter<? super T>> delegates;
|
||||
private List<ItemWriter<T>> delegates;
|
||||
|
||||
public void setDelegates(List<ItemWriter<? super T>> delegates) {
|
||||
public void setDelegates(List<ItemWriter<T>> delegates) {
|
||||
this.delegates = delegates;
|
||||
}
|
||||
|
||||
@@ -25,19 +25,19 @@ public class CompositeItemWriter<T> implements ItemWriter<T> {
|
||||
* Calls injected ItemProcessors in order.
|
||||
*/
|
||||
public void write(T item) throws Exception {
|
||||
for (ItemWriter<? super T> writer : delegates) {
|
||||
for (ItemWriter<T> writer : delegates) {
|
||||
writer.write(item);
|
||||
}
|
||||
}
|
||||
|
||||
public void clear() throws ClearFailedException {
|
||||
for (ItemWriter<? super T> writer : delegates) {
|
||||
for (ItemWriter<T> writer : delegates) {
|
||||
writer.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public void flush() throws FlushFailedException {
|
||||
for (ItemWriter<? super T> writer : delegates) {
|
||||
for (ItemWriter<T> writer : delegates) {
|
||||
writer.flush();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ package org.springframework.batch.item.transform;
|
||||
*
|
||||
* @author Robert Kasanicky
|
||||
*/
|
||||
public interface ItemTransformer {
|
||||
public interface ItemTransformer<I,O> {
|
||||
|
||||
Object transform(Object item) throws Exception;
|
||||
O transform(I item) throws Exception;
|
||||
}
|
||||
|
||||
@@ -10,14 +10,14 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Robert Kasanicky
|
||||
*/
|
||||
public class ItemTransformerItemWriter extends DelegatingItemWriter {
|
||||
public class ItemTransformerItemWriter<I,O> extends DelegatingItemWriter<I,O> {
|
||||
|
||||
private ItemTransformer itemTransformer;
|
||||
private ItemTransformer<I,O> itemTransformer;
|
||||
|
||||
/**
|
||||
* Transform the item using the {@link #setItemTransformer(ItemTransformer)}.
|
||||
*/
|
||||
protected Object doProcess(Object item) throws Exception {
|
||||
protected O doProcess(I item) throws Exception {
|
||||
return itemTransformer.transform(item);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ public class ItemTransformerItemWriter extends DelegatingItemWriter {
|
||||
* @param itemTransformer will transform the item before
|
||||
* it is passed to {@link ItemWriter}.
|
||||
*/
|
||||
public void setItemTransformer(ItemTransformer itemTransformer) {
|
||||
public void setItemTransformer(ItemTransformer<I,O> itemTransformer) {
|
||||
this.itemTransformer = itemTransformer;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user