SourceTransferStartExit.java
/*
* Licensed Materials - Property of IBM
*
* "Restricted Materials of IBM"
*
* 5724-H72
*
* Copyright IBM Corp. 2008, 2024. All Rights Reserved.
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with
* IBM Corp.
*/
package com.ibm.wmqfte.exitpoint.api;
import java.util.List;
import java.util.Map;
/**
* An interface that is implemented by classes that want to be invoked as part of
* user exit routine processing. This interface defines a method that will be
* invoked immediately prior to starting a transfer on the agent acting as the
* source of the transfer.
*/
public interface SourceTransferStartExit {
/**
* Invoked immediately prior to starting a transfer on the agent acting as
* the source of the transfer.
*
* @param sourceAgentName
* the name of the agent acting as the source of the transfer.
* This is the name of the agent that the implementation of this
* method will be invoked from.
*
* @param destinationAgentName
* the name of the agent acting as the destination of the
* transfer.
*
* @param environmentMetaData
* meta data about the environment in which the implementation
* of this method is running. This information can only be read,
* it cannot be updated by the implementation. The constants
* defined in <code>EnvironmentMetaDataConstants</code> class can
* be used to access the data held by this map.
*
* @param transferMetaData
* meta data to associate with the transfer. The meta data passed
* to this method can be altered, and the changes to will be
* reflected in subsequent exit routine invocations. This map may
* also contain keys with IBM reserved names. These entries are
* defined in the <code>TransferMetaDataConstants</code> class and
* have special semantics.
*
* @param fileSpecs
* a list of file specifications that govern the file data to
* transfer. The implementation of this method can add entries,
* remove entries, or modify entries in this list and the changes
* will be reflected in the files transferred.
*
* @return a transfer exit result object which is used to determine if the
* transfer should proceed, or be cancelled.
*/
TransferExitResult onSourceTransferStart(String sourceAgentName,
String destinationAgentName,
Map<String, String> environmentMetaData,
Map<String, String>transferMetaData,
List<SourceFileExitFileSpecification>fileSpecs);
}