Package org.easybatch.integration.spring

Source Code of org.easybatch.integration.spring.EasyBatchFactoryBean

package org.easybatch.integration.spring;

import org.easybatch.core.api.*;
import org.easybatch.core.impl.EasyBatchEngine;
import org.easybatch.core.impl.EasyBatchEngineBuilder;
import org.springframework.beans.factory.FactoryBean;

/**
* Spring Factory Bean that creates Easy Batch instances.
*
* @author Mahmoud Ben Hassine (md.benhassine@gmail.com)
*/
public class EasyBatchFactoryBean implements FactoryBean {

    private RecordReader recordReader;

    private RecordFilter recordFilter;

    private RecordMapper recordMapper;

    private RecordValidator recordValidator;

    private RecordProcessor recordProcessor;

    @Override
    public Object getObject() throws Exception {
        EasyBatchEngineBuilder easyBatchEngineBuilder = new EasyBatchEngineBuilder();
        if (recordReader != null) {
            easyBatchEngineBuilder.registerRecordReader(recordReader);
        }
        if (recordFilter != null) {
            easyBatchEngineBuilder.registerRecordFilter(recordFilter);
        }
        if (recordMapper != null) {
            easyBatchEngineBuilder.registerRecordMapper(recordMapper);
        }
        if (recordValidator != null) {
            easyBatchEngineBuilder.registerRecordValidator(recordValidator);
        }
        if (recordProcessor != null) {
            easyBatchEngineBuilder.registerRecordProcessor(recordProcessor);
        }
        return easyBatchEngineBuilder.build();
    }

    @Override
    public Class<?> getObjectType() {
        return EasyBatchEngine.class;
    }

    @Override
    public boolean isSingleton() {
        return true;
    }

    /* Setters for dependency injection */

    public void setRecordReader(RecordReader recordReader) {
        this.recordReader = recordReader;
    }

    public void setRecordFilter(RecordFilter recordFilter) {
        this.recordFilter = recordFilter;
    }

    public void setRecordMapper(RecordMapper recordMapper) {
        this.recordMapper = recordMapper;
    }

    public void setRecordValidator(RecordValidator recordValidator) {
        this.recordValidator = recordValidator;
    }

    public void setRecordProcessor(RecordProcessor recordProcessor) {
        this.recordProcessor = recordProcessor;
    }


}
TOP

Related Classes of org.easybatch.integration.spring.EasyBatchFactoryBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.