All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jpattern.batch.execution.RunOnceJobExecutionStrategy Maven / Gradle / Ivy

package com.jpattern.batch.execution;

import com.jpattern.batch.JobExecutionStrategy;

/**
 * 
 * Execute a job only once
 * 
 * @author Francesco Cina'
 *
 * 04/giu/2010
 */
public class RunOnceJobExecutionStrategy implements JobExecutionStrategy   {

	private static final long serialVersionUID = 1L;
	private final int _executionTime;
	private int _executedTime = 0;

	public RunOnceJobExecutionStrategy() {
		_executionTime = 1;
	}

	@Override
	public boolean canExecute() {

		if (_executedTime >= _executionTime) {
			return false;
		}

		_executedTime++;
		return true;
	}

	@Override
	public String asString() {
		final int remainig = (_executionTime - _executedTime) < 0 ? 0 : (_executionTime - _executedTime);
		return "RunOnceJobExecution, remaining " + remainig + " executions";
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy