/* * Copyright (c) 2016 Red Hat, Inc. and/or its affiliates. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jberet.operations; import java.util.List; import java.util.Properties; import java.util.Set; import javax.batch.operations.JobExecutionAlreadyCompleteException; import javax.batch.operations.JobExecutionIsRunningException; import javax.batch.operations.JobExecutionNotMostRecentException; import javax.batch.operations.JobExecutionNotRunningException; import javax.batch.operations.JobOperator; import javax.batch.operations.JobRestartException; import javax.batch.operations.JobSecurityException; import javax.batch.operations.JobStartException; import javax.batch.operations.NoSuchJobException; import javax.batch.operations.NoSuchJobExecutionException; import javax.batch.operations.NoSuchJobInstanceException; import javax.batch.runtime.JobExecution; import javax.batch.runtime.JobInstance; import javax.batch.runtime.StepExecution; import org.jberet.spi.JobOperatorContext; /** * A delegating job operator. By default the delegate is retrieved from the * {@linkplain JobOperatorContext#getJobOperator() context}. * * @author <a href="mailto:jperkins@redhat.com">James R. Perkins</a> */ public class DelegatingJobOperator implements JobOperator { @Override public Set<String> getJobNames() throws JobSecurityException { return getDelegate().getJobNames(); } @Override public int getJobInstanceCount(final String jobName) throws NoSuchJobException, JobSecurityException { return getDelegate().getJobInstanceCount(jobName); } @Override public List<JobInstance> getJobInstances(final String jobName, final int start, final int count) throws NoSuchJobException, JobSecurityException { return getDelegate().getJobInstances(jobName, start, count); } @Override public List<Long> getRunningExecutions(final String jobName) throws NoSuchJobException, JobSecurityException { return getDelegate().getRunningExecutions(jobName); } @Override public Properties getParameters(final long executionId) throws NoSuchJobExecutionException, JobSecurityException { return getDelegate().getParameters(executionId); } @Override public long start(final String jobXMLName, final Properties jobParameters) throws JobStartException, JobSecurityException { return getDelegate().start(jobXMLName, jobParameters); } @Override public long restart(final long executionId, final Properties restartParameters) throws JobExecutionAlreadyCompleteException, NoSuchJobExecutionException, JobExecutionNotMostRecentException, JobRestartException, JobSecurityException { return getDelegate().restart(executionId, restartParameters); } @Override public void stop(final long executionId) throws NoSuchJobExecutionException, JobExecutionNotRunningException, JobSecurityException { getDelegate().stop(executionId); } @Override public void abandon(final long executionId) throws NoSuchJobExecutionException, JobExecutionIsRunningException, JobSecurityException { getDelegate().abandon(executionId); } @Override public JobInstance getJobInstance(final long executionId) throws NoSuchJobExecutionException, JobSecurityException { return getDelegate().getJobInstance(executionId); } @Override public List<JobExecution> getJobExecutions(final JobInstance instance) throws NoSuchJobInstanceException, JobSecurityException { return getDelegate().getJobExecutions(instance); } @Override public JobExecution getJobExecution(final long executionId) throws NoSuchJobExecutionException, JobSecurityException { return getDelegate().getJobExecution(executionId); } @Override public List<StepExecution> getStepExecutions(final long jobExecutionId) throws NoSuchJobExecutionException, JobSecurityException { return getDelegate().getStepExecutions(jobExecutionId); } /** * Returns the delegate {@link JobOperator}. This cannot return {@code null}. * * @return the delegate job operator */ @SuppressWarnings("WeakerAccess") protected JobOperator getDelegate() { return JobOperatorContext.getJobOperatorContext().getJobOperator(); } }