com.genesyslab.ail
Interface InteractionManager


public interface InteractionManager

This class provides tools for managing interactions.

Note: If the DATABASE service is not available, that is, if UCS is not connected, you cannot get features associated with UCS, that is, this interaction manager.


Method Summary
 int countOtherPendingInteractions(java.lang.String contact_id, java.lang.String interaction_id)
          Returns the number of pending interactions for this contact.
 java.util.Collection getAllCustomAttachedData()
          Gets all the CustomAttachedData defined in the Configuration Layer.
 java.util.Collection getAllInteractionAttributeMetaData()
          Gets all the existing InteractionAttributeMetaData.
 CustomAttachedData getCustomAttachedDataById(java.lang.String id)
          Gets the CustomAttachedData with this ID.
 CustomAttachedData getCustomAttachedDataByName(java.lang.String name)
          Gets the CustomAttachedData with this name.
 InteractionAttributeMetaData getInteractionAttributeMetaDataById(java.lang.String id)
          Gets the predefined InteractionAttributeMetaData instance with this attribute ID.
 InteractionAttributeMetaData getInteractionAttributeMetaDataByName(java.lang.String attribute_name)
          Gets the InteractionAttributeMetaData that has this name.
 AbstractInteraction getInteractionByDBID(java.lang.String interaction_dbid, boolean archive)
          Finds the interaction associated with this Contact Server ID.
 boolean isReadOnlyAttachedData(java.lang.String key)
          Checks wether an attached data can be modified by an agent.
 

Method Detail

getInteractionByDBID

AbstractInteraction getInteractionByDBID(java.lang.String interaction_dbid,
                                         boolean archive)
Finds the interaction associated with this Contact Server ID.

Parameters:
interaction_dbid - the Contact Server ID of the Interaction.
archive - true if you wish to search in the archive database, false for searching in the current database.
Returns:
the AbstractInteraction with this ID, or null if it is not found.

countOtherPendingInteractions

int countOtherPendingInteractions(java.lang.String contact_id,
                                  java.lang.String interaction_id)
                                  throws DatabaseServiceException
Returns the number of pending interactions for this contact. Counts the interactions that are pending for the same contact, except this Interaction.

Parameters:
contact_id - the ID of the contact.
interaction_id - the ID of the interaction to exclude from the count. Can be null.
Returns:
the number of other pending interactions for this contact.
Throws:
DatabaseServiceException - if the database service is out of order.

getAllInteractionAttributeMetaData

java.util.Collection getAllInteractionAttributeMetaData()
Gets all the existing InteractionAttributeMetaData.

Returns:
a Collection of InteractionAttributeMetaData.

getInteractionAttributeMetaDataByName

InteractionAttributeMetaData getInteractionAttributeMetaDataByName(java.lang.String attribute_name)
Gets the InteractionAttributeMetaData that has this name.

Parameters:
attribute_name - the name of the attribute.
Returns:
the InteractionAttributeMetaData with this name.

getInteractionAttributeMetaDataById

InteractionAttributeMetaData getInteractionAttributeMetaDataById(java.lang.String id)
Gets the predefined InteractionAttributeMetaData instance with this attribute ID.

Parameters:
id - the ID of the attribute.
Returns:
the InteractionAttributeMetaData with this ID.

getAllCustomAttachedData

java.util.Collection getAllCustomAttachedData()
Gets all the CustomAttachedData defined in the Configuration Layer.

Returns:
a Collection of CustomAttachedData.

getCustomAttachedDataByName

CustomAttachedData getCustomAttachedDataByName(java.lang.String name)
Gets the CustomAttachedData with this name.

Parameters:
name - the name of the attached data.

getCustomAttachedDataById

CustomAttachedData getCustomAttachedDataById(java.lang.String id)
Gets the CustomAttachedData with this ID.

Parameters:
id - the ID of the custom attached data.

isReadOnlyAttachedData

boolean isReadOnlyAttachedData(java.lang.String key)
Checks wether an attached data can be modified by an agent. An agent application should not allow the user to delete or modify the attached data that are used for routing or other internal purposes.

Parameters:
key - the key of the attached data to check.
Returns:
true if an agent should not be allowed to change or remove this attached data.