com.genesyslab.ail.collaboration
Interface InteractionInvitationOut

All Superinterfaces:
AbstractInteraction, IdObject, Interaction, InteractionMail, InteractionMailOut, InteractionMultimedia, Possible, Savable

public interface InteractionInvitationOut
extends InteractionMailOut

InteractionInvitationOut is a fake interaction for the collaboration feature.

This is a fake interaction. It cannot be saved. Once send method is invoked, this interaction no longer exists. Use this interface to create a list of participants for a collaboration session.

To get an instance of this interface, call the createCollaborationInvitation method of the InteractionMailOut interaction involved in the collaboration session.
InteractionInvitationOut myInvitationsToSend = myInteractionMailOut.createCollaborationInvitation();

Use a single InteractionInvitationOut interaction to send invitations to several participants. See Participant for details about managing participants.

Specify the reason for this collaboration session. Use setSubject and setMessageText to add information.

To add participants to the collaboration session, create each participant with the createParticipant() method, then add those participants to the outgoing invitation with the addParticipant(com.genesyslab.ail.collaboration.Participant) method, as shown in the following code snippet:

Participant myParticipant1 =
myInvitationsToSend.createParticipant();

// Setting type and name of the participant that is agent1.
myParticipant0.setType(Participant.Type.QUEUE);
myParticipant0.setName("agent1");

// Adding agent1 to the list of participants
myInvitationsToSend.addParticipant(myParticipant1);

Depending on the method called to send invitations, your application activates a specific mode:

See Also:
InteractionMailOut, InteractionInvitationParentIn, InteractionInvitationIn

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.InteractionMailOut
InteractionMailOut.Action
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.InteractionMultimedia
InteractionMultimedia.StopProcessingReason
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.Interaction
Interaction.Status, Interaction.Type
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.AbstractInteraction
AbstractInteraction.AbstractCallType
 
Field Summary
 
Fields inherited from interface com.genesyslab.ail.InteractionMail
QUOTE_HEADER_CONTACT, QUOTE_HEADER_DATE
 
Method Summary
 void addParticipant(Participant participant)
          Adds a participant.
 void addParticipantsListener(ParticipantsListener participants_listener)
          Registers a listener on invitation participant events.
 Participant createParticipant()
          Factory: creates a participant.
 InteractionInvitationIn.Status getCollaborationStatus()
          Gets the collaboration status of this invitation.
 java.util.Collection getParticipants()
          Gets the participants.
 void removeParticipant(Participant participant)
          Removes a participant.
 void removeParticipantsListener(ParticipantsListener participants_listener)
          Unregisters a listener on invitation participant events.
 void send()
          Sends or places InteractionInvitationIns into a workbin or a queue according to the type of the Participant.
 void transfer()
          Transfers InteractionInvitationIns according to the Participant type:
- if agent type: the invitation in is transferred to this agent (push method to transfer invitations to child agent desktop).
 
Methods inherited from interface com.genesyslab.ail.InteractionMailOut
addAttachment, addAttachmentEx, addInvitationListener, copyAttachments, createCollaborationInvitation, getBccAddresses, getDraftInvitation, getReplyToAddress, getSentInvitations, isQAReview, removeAttachment, removeAttachment, removeInvitationListener, send, setBccAddresses, setCcAddresses, setFromAddress, setMessageText, setReplyToAddress, setSubject, setToAddresses
 
Methods inherited from interface com.genesyslab.ail.InteractionMail
getAttachment, getAttachments, getCcAddresses, getDateSent, getFromAddress, getMessageText, getMimeMessage, getToAddresses, hasAttachments
 
Methods inherited from interface com.genesyslab.ail.InteractionMultimedia
addSuggestedCategories, delete, getAvailableQueuesForChildInteraction, getAvailableQueuesForThisInteraction, getCategoryId, getExternalId, getInteractionSubtype, getInteractionType, getIsCategoryApproved, getMaxSubjectLength, getMediaType, getQueue, getSuggestedCategories, isMarkDoneAvailable, placeInQueue, setAttachedData, setAvailableQueuesForChildInteraction, setAvailableQueuesForThisInteraction, setCategoryId, setExternalId, setIsCategoryApproved, submit, transferAgent, transferPlace, transferQueue
 
Methods inherited from interface com.genesyslab.ail.Interaction
answerCall, countOtherPendingInteractions, getContactId, getContentBinary, getContentBinaryMimeType, getContentBinarySize, getDateCreated, getDn, getEndDate, getMedia, getNotepad, getParentInteraction, getPlace, getStatus, getStructTextMimeType, getStructuredText, getSubject, getText, getType, getUserName, isDone, markDone, merge, releaseCall, save, setContactId, setContentBinary, setContentBinaryMimeType, setContentBinarySize, setNotepad, setStructTextMimeType, setStructuredText, setText
 
Methods inherited from interface com.genesyslab.ail.AbstractInteraction
addInteractionListener, getAttachedData, getAttachedData, getAttachedDataEx, getTConnectionId, queryStatus, removeAttachedData, removeInteractionListener, saveAttachedData, setAttachedData
 
Methods inherited from interface com.genesyslab.ail.Possible
arePossible, isPossible
 
Methods inherited from interface com.genesyslab.ail.Savable
getContactServerId, isDirty
 

Method Detail

getParticipants

java.util.Collection getParticipants()
                                     throws RequestFailedException
Gets the participants.

Returns:
Collection of Participant.
Throws:
RequestFailedException - if request cannot proceed.
Since:
7.0

addParticipant

void addParticipant(Participant participant)
                    throws RequestFailedException
Adds a participant.

Parameters:
participant - as Participant.
Throws:
RequestFailedException - if request cannot proceed.
Since:
7.0

removeParticipant

void removeParticipant(Participant participant)
                       throws RequestFailedException
Removes a participant.

Parameters:
participant - as Participant
Throws:
RequestFailedException - if request cannot proceed.
Since:
7.0

createParticipant

Participant createParticipant()
                              throws RequestFailedException
Factory: creates a participant.

Returns:
an instance of Participant.
Throws:
RequestFailedException - if request cannot proceed.
Since:
7.0

addParticipantsListener

void addParticipantsListener(ParticipantsListener participants_listener)
Registers a listener on invitation participant events. This listener will be notified of invitation participant added and deleted.

Parameters:
participants_listener - the listener to register

removeParticipantsListener

void removeParticipantsListener(ParticipantsListener participants_listener)
Unregisters a listener on invitation participant events. This listener will no longer be notified of invitation participant events.

Parameters:
participants_listener - the listener to unregister

transfer

void transfer()
              throws RequestFailedException
Transfers InteractionInvitationIns according to the Participant type:
- if agent type: the invitation in is transferred to this agent (push method to transfer invitations to child agent desktop).
- if queue type: the invitation in is placed into the defined queue.
Use send() method to pull invitations in.

Throws:
RequestFailedException

send

void send()
          throws RequestFailedException
Sends or places InteractionInvitationIns into a workbin or a queue according to the type of the Participant.
- if agent type: the invitation is put into agent's workbin (pull method to put invitations into child collaboration workbin).
- if queue type: the invitation is placed into the defined queue.
Use transfer() method to push invitations.

Throws:
RequestFailedException

getCollaborationStatus

InteractionInvitationIn.Status getCollaborationStatus()
Gets the collaboration status of this invitation.

Returns:
InteractionInvitationIn.Status
Since:
7.0