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

javax.batch.api.Decider Maven / Gradle / Ivy

There is a newer version: 1.0.1
Show newest version
/*
 * Copyright 2012 International Business Machines Corp.
 * 
 * See the NOTICE file distributed with this work for additional information
 * regarding copyright ownership. Licensed under the Apache License, 
 * Version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package javax.batch.api;

import javax.batch.runtime.StepExecution;

/**
 * A Decider receives control as part of a decision element 
 * in a job. It is used to direct execution flow during job
 * processing. It returns an exit status that updates the 
 * current job execution's exit status. This exit status 
 * value also directs the execution transition based on 
 * next, end, stop, fail child elements configured on the 
 * same decision element as the decider.
 */
public interface Decider {
	/**
	 * The decide method sets a new exit status for a job. 
	 * It receives an array of StepExecution objects as input.
	 * These StepExecution objects represent the execution 
	 * element that transitions to this decider as follows:
     * 

*

    *
  • Step
  • *

    * When the transition is from a step, the decide method * receives the StepExecution corresponding * to the step as input. *

  • Split
  • *

    * When the transition is from a split, the decide method * receives a StepExecution from each flow defined to the split * as input. *

  • Flow
  • *

    * When the transition is from a flow, the decide method * receives a StepExecution corresponding * to the last execution element that completed in the flow. * This will be a single StepExecution if the last element * was a step and multiple StepExecutions if the last element * was a split. *

* @param executions specifies the StepExecution(s) of the preceding * element. * @return updated job exit status * @throws Exception is thrown if an error occurs. */ public String decide(StepExecution[] executions) throws Exception; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy