TransferExitResult.java interface


TransferExitResult.java

/*
 *   Licensed Materials - Property of IBM
 *
 *   "Restricted Materials of IBM"
 *
 *   5724-H72
 * 
 *    Copyright IBM Corp. 2008, 2020. All Rights Reserved.
 * 
 *   disclosure restricted by GSA ADP Schedule Contract with
 *   IBM Corp.
 */

package com.ibm.wmqfte.exitroutine.api;

/**
 * The result of invoking a transfer exit routine.  It is composed of a result
 * code, which determines if the transfer should proceed, and an optional explanatory 
 * message.  The explanation, if present, is entered into the log message.
 */
public class TransferExitResult {
	
	private final TransferExitResultCode resultCode;
	private final String explanation;

	/** 
	 * For convenience, a static "proceed" result with no associated explanation
	 * message.
	 */
	public static final TransferExitResult PROCEED_RESULT = 
		new TransferExitResult(TransferExitResultCode.PROCEED, null);
	
	/**
	 * Constructor.  Creates a transfer exit result object with a specified result
	 * code and explanation.
	 * 
	 * @param resultCode
	 *            The result code to associate with the exit result being created.
	 *            
	 * @param explanation
	 *            The explanation to associate with the exit result being created.
	 *            A value of <code>null</code> can be specified to indicate no
	 *            explanation.
	 */
	public TransferExitResult(TransferExitResultCode resultCode, String explanation) {
		this.resultCode = resultCode;
		this.explanation = explanation;
	}
	
	/**
	 * Returns the explanation associated with this transfer exit result.
	 *
	 * @return    the explanation associated with this exit result.
	 */
	public String getExplanation() {
		return explanation;
	}
	
	/**
	 * Returns the result code associated with this transfer exit result.
	 *
	 * @return    the result code associated with this exit result.
	 */
	public TransferExitResultCode getResultCode() {
		return resultCode;
	}
}