package com.intrbiz.bergamot.worker.engine; import com.intrbiz.bergamot.config.ExecutorCfg; import com.intrbiz.bergamot.model.message.reading.ReadingParcelMO; import com.intrbiz.bergamot.model.message.result.ResultMO; import com.intrbiz.bergamot.queue.key.ReadingKey; import com.intrbiz.bergamot.queue.key.ResultKey; public abstract class AbstractExecutor<T extends Engine> implements Executor<T> { protected T Engine; protected ExecutorCfg config; public AbstractExecutor() { super(); } @Override public T getEngine() { return this.Engine; } @Override public void setEngine(T engine) { this.Engine = engine; } @Override public void configure(ExecutorCfg config) throws Exception { this.config = config; this.configure(); } @Override public ExecutorCfg getConfiguration() { return this.config; } protected void configure() throws Exception { } @Override public void start() { } @Override public void publishResult(ResultKey key, ResultMO resultMO) { this.getEngine().publishResult(key, resultMO); } @Override public void publishReading(ReadingKey key, ReadingParcelMO readingParcelMO) { this.getEngine().publishReading(key, readingParcelMO); } }