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

jakarta.batch.runtime.context.StepContext Maven / Gradle / Ivy

There is a newer version: 11.0.0-M4
Show newest version
/*
 * Copyright 2012, 2020 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.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

package jakarta.batch.runtime.context;

import java.io.Serializable;
import java.util.Properties;

import jakarta.batch.runtime.BatchStatus;
import jakarta.batch.runtime.Metric;

/**
  *
  * A StepContext provides information about the current step
  * of a job execution.
  *
  */

public interface StepContext {
	/**
	 * Get step name.
	 * @return value of 'id' attribute from <step>
	 *
	 */
	public String getStepName();
	/**
	 * The getTransientUserData method returns a transient data object
	 * belonging to the current Job XML execution element.
	 * @return user-specified type
	 */
	public Object getTransientUserData();
	/**
	 * The setTransientUserData method stores a transient data object into
	 * the current batch context.
	 * @param data is the user-specified type
	 */
	public void setTransientUserData(Object data);
	/**
	 * The getStepExecutionId method returns the current step's
	 * execution id.
	 * @return step execution id
	 */
	public long getStepExecutionId();
	/**
	 * 

* The getProperties method returns the step level properties * specified in a job definition. *

* A couple notes: *
    *
  • There is no guarantee that the same Properties object instance is * always returned in the same (step) scope. *
  • Besides the properties which are defined in JSL within a child * <properties> element of a <step> element, the batch runtime * implementation may choose to include additional, implementation-defined * properties. *
* @return step level properties */ public Properties getProperties(); /** * The getPersistentUserData method returns a persistent data object * belonging to the current step. The user data type must implement * java.util.Serializable. This data is saved as part of a step's * checkpoint. For a step that does not do checkpoints, it is saved * after the step ends. It is available upon restart. * @return user-specified type */ public Serializable getPersistentUserData(); /** * The setPersistentUserData method stores a persistent data object * into the current step. The user data type must implement * java.util.Serializable. This data is saved as part of a step's * checkpoint. For a step that does not do checkpoints, it is saved * after the step ends. It is available upon restart. * @param data is the user-specified type */ public void setPersistentUserData(Serializable data); /** * The getBatchStatus method returns the current batch status of the * current step. This value is set by the batch runtime and changes as * the batch status changes. * @return batch status string */ public BatchStatus getBatchStatus(); /** * The getExitStatus method simply returns the exit status value stored * into the step context through the setExitStatus method or null. * @return exit status string */ public String getExitStatus(); /** * The setExitStatus method assigns the user-specified exit status for * the current step. When the step ends, the exit status of the step is * the value specified through setExitStatus. If setExitStatus was not * called or was called with a null value, then the exit status * defaults to the batch status of the step. * @param status string */ public void setExitStatus(String status); /** * The getException method returns the last exception thrown from a * step level batch artifact to the batch runtime. * @return the last exception */ public Exception getException(); /** * The getMetrics method returns an array of step level metrics. These * are things like commits, skips, etc. * @see jakarta.batch.runtime.Metric for definition of standard * metrics. * @return metrics array */ public Metric[] getMetrics(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy