FileTransferResult.java interface


FileTransferResult.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;

/**
 * Result information about a file transfer.
 */
public interface FileTransferResult {

    /** An enumeration for the <code>getCorrelatorType()</code> method. */
    public enum CorrelationInformationType {
        /** No correlation information is available for this result */
        NONE,
        /**
         * The correlation information relates to work done in 
         * IBM Sterling File Gateway.
         */
        SFG
    }
	
	/**
	 * Returns the source file specification, from which the file was transferred.
	 *
	 * @return    the source file specification, from which the file was
	 *            transferred.  
	 */
	String getSourceFileSpecification();
	
	/**
	 * Returns the destination file specification, to which the file was transferred.
	 *
	 * @return    the destination file specification, to which the file was
	 *            transferred.  A value of <code>null</code> may be returned
	 *            if the transfer did not complete successfully.
	 */
	String getDestinationFileSpecification();
	
	/**
	 * Returns the result of the file transfer operation.
	 *
	 * @return    the result of the file transfer operation.
	 */
	FileExitResult getExitResult();
	
    /**
     * @return an enumerated value that identifies the product to which this correlating
     *         information relates.
     */
    CorrelationInformationType getCorrelatorType();

    /**
     * @return the first string component of the correlating identifier that relates
     *         this transfer result to work done in another product.  A value of null
     *         may be returned either because the other product does not utilize a
     *         string based correlation information or because there is no correlation
     *         information.
     */
    String getString1Correlator();

    /**
     * @return the first long component of the correlating identifier that relates
     *         this transfer result to work done in another product.  A value of zero
     *         is returned when there is no correlation information or the other
     *         product does not utilize long based correlation information or because
     *         the value really is zero!
     */
    long getLong1Correlator();
}