CDCredentialExit.java interface


CDCredentialExit.java

/*
 *   Licensed Materials - Property of IBM
 *
 *   "Restricted Materials of IBM"
 *
 *   5724-H72
 * 
 *    Copyright IBM Corp. 2011, 2020. All Rights Reserved.
 * 
 *   disclosure restricted by GSA ADP Schedule Contract with
 *   IBM Corp.
 */
package com.ibm.wmqfte.exitroutine.api;

import java.util.Map;

/**
 * An interface that is implemented by classes that are invoked as part of
 * user exit routine processing.  This interface defines methods that are
 * invoked by a Connect:Direct bridge agent to map the IBM MQ user ID of the transfer to credentials
 * that are used to access the Connect:Direct node.
 * There will be one instance of each implementation class per Connect:Direct bridge agent. The methods
 * can be called from different threads so the methods must be synchronized.
 */
public interface CDCredentialExit {

	/**
	 * Invoked once when a Connect:Direct bridge agent is started. It is intended to initialize
	 * any resources that are required by the exit
	 * 
	 * @param bridgeProperties
	 *            The values of properties defined for the Connect:Direct bridge.
	 *            These values can only be read, they cannot be updated by 
	 *            the implementation. 
	 * 
	 * @return    true if the initialisation is successful and false if unsuccessful
	 *            If false is returned from an exit the Connect:Direct bridge agent does not
	 *            start.  
	 */
	 public boolean initialize(final Map<String, String> bridgeProperties); 	  	  

 	/**
 	 * Invoked once per transfer to map the IBM MQ user ID in the transfer message to the
 	 * credentials to be used to access the Connect:Direct node.
  	 *
  	 * @param mqUserId The IBM MQ user ID from which to map to the credentials to be used
 	 *                 to access the Connect:Direct node
	 * @param snode    The name of the Connect:Direct SNODE specified as the cdNode in the 	 
	 *                 file path. This is used to map the correct user ID and password for the
 	 *                 SNODE.                  
	 * @return         A credential exit result object that contains the result of the map and
 	 *                 the credentials to use to access the Connect:Direct node
 	 */
   
	 public CDCredentialExitResult mapMQUserId(final String mqUserId, final String snode);

  	/**
 	 * Invoked once when a Connect:Direct bridge agent is shutdown. This method releases
 	 * any resources that were allocated by the exit
 	 *
  	 * @param bridgeProperties
 	 *            The values of properties defined for the Connect:Direct bridge.
 	 *            These values can only be read, they cannot be updated by
  	 *            the implementation.
  	 *
  	 * @return
	 */
	 public void shutdown(final Map<String, String> bridgeProperties); 	 }