About exit arguments

A list of parameters is passed as the last argument of the function exit methods:

public interface ControlFunction {

public List<BusinessError>

control(BusinessEntity targetObject,

ErrorFactory errorFactory,

SourceDatabaseExternal sourceExternal,

Map<String, Object> functionArguments) ;

}

This list contains:

  • The function arguments that have been set in the function call.
  • The INTERPLAY_SESSION parameter that references the user session (instance of com.axway.interplay.api.business.InterplaySession).
  • The "When" function argument if the same class can be used for two functions: After and Before. String executionTime = ((When)functionArguments.get(FunctionRunner.EXECUTION_TIME)).name();
  • Other system parameters that reference the arguments that are passed to the exit methods. Their names are defined in the com.axway.interplay.spi.exit.FunctionRunner.

Placeholders can be inserted in String arguments of the function calls. These placeholders will be replaced by the corresponding property values at evaluation time.

For example, the "DOC{Context}" string can be associated with the “PacketList” argument in a ChangeField function call so as to execute a packet of rules whose name is the concatenation of the “DOC” string and the “Context” property value of the current object.

To retrieve a parameter from the map, you must use the parameter name as a key, that is:

  • Either the name of the system parameter.
  • Or the function argument name.

Example

SubElement currentElement = (SubElement)functionArguments.get(FunctionRunner.CURRENT_ELEMENT);

String account = (String)functionArguments.get("account");

Related Links