com.genesyslab.omsdk.qil
Interface QILInteraction


public interface QILInteraction

Represents an open media interaction object.

Each interaction belongs to an active queue. You can get QILInteraction objects only if you add listeners to a monitored QILQueue.

If you add a QILQueueListener to a QILQueue object, this listener gets QILQueueContentChangedEvent events. Each QILQueueContentChangedEvent object contains collections of added and removed interactions.

If you add a QILInteractionListener to a QILQueue object, this listener gets a QILInteractionEvent event each time an interaction is modified. Call the QILInteractionEvent.getInteraction() method to get the associated QILInteraction.

Since:
7.1.000.00
See Also:
QILQueue, QILQueueMonitorStatus, QILQueue.isMonitored(), QILQueue.startMonitoring(), QILQueue.stopMonitoring(), QILQueue.addInteractionListener(), QILQueue.addInteractionListener(), QILInteractionListener, QILInteractionEvent

Method Summary
 java.lang.String getID()
          Returns the interaction ID.
 java.lang.String getMediaType()
          Returns the interaction's media type name.
 java.util.Map getProperties()
          Returns the interaction's runtime properties.
 QILQueue getQueue()
          Returns the queue to which the interaction belongs.
 QILInteractionStatus getStatus()
          Returns the interaction status.
 java.lang.String getSubtype()
          Returns the interaction's subtype name.
 java.lang.String getType()
          Returns the interaction's type name.
 

Method Detail

getID

public java.lang.String getID()
Returns the interaction ID.

Returns:
the interaction ID.

getStatus

public QILInteractionStatus getStatus()
Returns the interaction status.

Returns:
the interaction status.

getType

public java.lang.String getType()
Returns the interaction's type name.

Use this type name to get the corresponding business attribute value. Retrieve the BusinessAttribute which has an INTERACTION_TYPE type. Then, call the getValue() method of this BusinessAttribute, as shown in the following code snippet:

BusinessAttribute interactionTypes = qilFactory.getInteractionTypes();
String interactionTypeName = qilInteraction.getType();
BusinessAttributeValue value = interactionTypes.getValue(interactionTypeName);

Returns:
the interaction type.
See Also:
QILFactory.getInteractionTypes()

getSubtype

public java.lang.String getSubtype()
Returns the interaction's subtype name.

Use this subtype name to get the corresponding business attribute value. Retrieve the BusinessAttribute which has an INTERACTION_SUBTYPE type. Then, call the getValue() method of this BusinessAttribute, as shown in the following code snippet:

BusinessAttribute interactionSubtypes = qilFactory.getInteractionSubtypes();
String interactionSubtypeName = qilInteraction.getSubtype();
BusinessAttributeValue value = interactionSubtypes.getValue(interactionSubtypeName);

Returns:
the interaction subtype.
See Also:
QILFactory.getInteractionSubtypes()

getMediaType

public java.lang.String getMediaType()
Returns the interaction's media type name.

Use this media type name to get the corresponding business attribute value. Retrieve the BusinessAttribute which has a MEDIA_TYPE type. Then, call the getValue() method of this BusinessAttribute, as shown in the following code snippet:

BusinessAttribute interactionMediaTypes = qilFactory.getMediaTypes();
String interactionMediaTypeName = qilInteraction.getMediaType();
BusinessAttributeValue value = interactionMediaTypes.getValue(interactionMediaTypeName);

Returns:
the interaction media type.
See Also:
QILFactory.getMediaTypes()

getQueue

public QILQueue getQueue()
Returns the queue to which the interaction belongs.

Returns:
QILQueue to which the interaction belongs.

getProperties

public java.util.Map getProperties()
Returns the interaction's runtime properties.

These properties are user data: for instance, the interaction's subject, the interaction's contact ID, the interaction's attached data, and so on.

Returns:
properties as a Map where:
  • the key is a String.
  • the value is an Integer, a String, a nested Map, or an ArrayList of Byte (representing binary user data).