PurgeGlassesItemWriter.java

package com.sintia.ffl.admin.optique.catalogue.batch.writer.purgeglasses;

import com.sintia.ffl.admin.optique.services.dto.Glasses;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.support.CompositeItemWriter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;

@Component
public class PurgeGlassesItemWriter extends CompositeItemWriter<Glasses> {

	@Autowired
	public PurgeGlassesItemWriter(
		DataSource dataSource, DeleteGlassesJdbcBatchItemWriter deleteGlassesJdbcBatchItemWriter,
		DeleteGlassesExtraAssoJdbcBatchItemWriter deleteGlassesExtraAssoJdbcBatchItemWriter,
		DeleteGlassesIntegratedTreatmentJdbcBatchItemWriter deleteGlassesIntegratedTreatmentJdbcBatchItemWriter) {

		List<ItemWriter<? super Glasses>> mWriter = new ArrayList<>();
		mWriter.add(deleteGlassesIntegratedTreatmentJdbcBatchItemWriter);
		mWriter.add(deleteGlassesExtraAssoJdbcBatchItemWriter);
		mWriter.add(deleteGlassesJdbcBatchItemWriter);
		this.setDelegates(mWriter);
	}
}