com.genesyslab.omsdk.qil
Interface QILInteractionManager


public interface QILInteractionManager

Manages QIL interactions.

Since:
7.2.001.00

Method Summary
 void leave(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          Leaves the interaction.
 void lock(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          Locks the interaction.
 void placeInQueue(java.lang.String ixnId, java.lang.String queueID, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          Places the interaction in a specific queue.
 void pull(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          Pulls the interaction.
 void removeProperties(java.lang.String ixnId, java.util.Collection properties)
          Removes a set of interaction properties.
 void removeProperty(java.lang.String ixnId, java.lang.String propertyName)
          Removes an interaction property.
 void setProperties(java.lang.String ixnId, java.util.Map properties)
          Sets new values for a set of properties.
 void setProperty(java.lang.String ixnId, java.lang.String propertyName, java.lang.Object propertyValue)
          Sets a new value for the specified interaction property.
 void stopProcessing(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          Stops the processing of the interaction and deletes it from the Interaction Server database).
 void unlock(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          Unlocks a locked interaction.
 

Method Detail

pull

public void pull(java.lang.String ixnId,
                 java.lang.String reasonDescription,
                 java.lang.String reasonSystemName)
          throws QILRequestFailedException
Pulls the interaction. A call to this method marks the interaction as being processed by the supervisor. The use of this method is restricted to interactions in QILInteractionStatus.QUEUED status.
You must call this method if you need to perform a placeInQueue(), setProperty(), or stopProcessing() call on a particular interaction.
Note: A pulled interaction cannot be pulled again. If you try to pull a pulled interaction, an exception is thrown.

Parameters:
ixnId - the interaction ID.
reasonDescription - the reason for pulling this interaction.
reasonSystemName - the system name reason for pulling this interaction.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.

leave

public void leave(java.lang.String ixnId,
                  java.lang.String reasonDescription,
                  java.lang.String reasonSystemName)
           throws QILRequestFailedException
Leaves the interaction.
This method is available only for interactions that the supervisor pulled. After a call to this method, the interaction is no longer considered as pulled.

Parameters:
ixnId - the interaction ID.
reasonDescription - the reason for leaving this interaction.
reasonSystemName - the system name reason for leaving this interaction.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.
See Also:
pull(String, String, String)

lock

public void lock(java.lang.String ixnId,
                 java.lang.String reasonDescription,
                 java.lang.String reasonSystemName)
          throws QILRequestFailedException
Locks the interaction.

By locking an interaction, the supervisor temporarily stops the processing of this interaction. This interaction becomes invisible from any view, and is not processed by the framework according to the designed workflow. The supervisor can analyze the interaction and request the framework to perform a specific action on this interaction. The supervisor who locked this interaction is the unique person who can issue requests for this interaction.
Note: If the interaction is already locked, or if the interaction is not in QILInteractionStatus.QUEUED status, the interaction cannot be locked again.

Parameters:
ixnId - the interaction ID.
reasonDescription - the reason for locking this interaction.
reasonSystemName - the system name reason for locking this interaction.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.
See Also:
unlock(String, String, String)

placeInQueue

public void placeInQueue(java.lang.String ixnId,
                         java.lang.String queueID,
                         java.lang.String reasonDescription,
                         java.lang.String reasonSystemName)
                  throws QILRequestFailedException
Places the interaction in a specific queue.
Call this method after you pulled this interaction. The interaction is no longer pulled.

Parameters:
ixnId - the ID of the interaction to be placed in a specific queue.
queueID - the ID of the queue into which the interaction is placed.
reasonDescription - the reason for placing this interaction into this queue.
reasonSystemName - the name of the system reason for placing this interaction into this queue.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.
See Also:
lock(String, String, String)

setProperty

public void setProperty(java.lang.String ixnId,
                        java.lang.String propertyName,
                        java.lang.Object propertyValue)
                 throws QILRequestFailedException
Sets a new value for the specified interaction property.
Note: pull this interaction before you call this method.

Parameters:
ixnId - the ID of the interaction.
propertyName - the name of the property to be set.
propertyValue - the value to set.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.

setProperties

public void setProperties(java.lang.String ixnId,
                          java.util.Map properties)
                   throws QILRequestFailedException
Sets new values for a set of properties.
Note: pull this interaction before you call this method.

Parameters:
ixnId - the ID of the interaction.
properties - the map of the properties to be set.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.

removeProperty

public void removeProperty(java.lang.String ixnId,
                           java.lang.String propertyName)
                    throws QILRequestFailedException
Removes an interaction property.
Note: pull this interaction before you call this method.

Parameters:
ixnId - the ID of the interaction.
propertyName - the name of the property to be set.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.

removeProperties

public void removeProperties(java.lang.String ixnId,
                             java.util.Collection properties)
                      throws QILRequestFailedException
Removes a set of interaction properties.

Parameters:
ixnId - the ID of the interaction.
properties - the names of the properties to be removed.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.

stopProcessing

public void stopProcessing(java.lang.String ixnId,
                           java.lang.String reasonDescription,
                           java.lang.String reasonSystemName)
                    throws QILRequestFailedException
Stops the processing of the interaction and deletes it from the Interaction Server database).
If one of the parties (agent or strategy) requests that an interaction be stopped, the interaction is revoked from all other parties participating in this interaction processing. There is the following limitation: An agent is allowed to stop an interaction only if this interaction is being handled by this agent.

Parameters:
ixnId - the ID of the interaction.
reasonDescription - the reason for stopping processing this interaction.
reasonSystemName - the system reason for stopping processing this interaction.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.

unlock

public void unlock(java.lang.String ixnId,
                   java.lang.String reasonDescription,
                   java.lang.String reasonSystemName)
            throws QILRequestFailedException
Unlocks a locked interaction. After unlocking, the interaction becomes visible.
Use this method on a locked interaction if you decide not to intervene with the interaction's normal workflow.

Parameters:
ixnId - the ID of the interaction.
reasonDescription - the reason for unlocking this interaction.
reasonSystemName - the system reason for unlocking this interaction.
Throws:
QILRequestFailedException - exception thrown if the request failed. To get specific reasons for this error, see the subclasses of QILRequestFailedException.
See Also:
lock(String, String, String)