com.compoze.collab.exchange
Interface IMeetingRequest
- All Superinterfaces:
- IAttachmentSupport, ICalendarItem, IExchangeCalendarItem, IExchangeItem, IExchangeMessage, IGroupwareItem, IItem, IMailMessage, IMessage, IMessagingItem, java.io.Serializable
- public interface IMeetingRequest
- extends IExchangeCalendarItem, IExchangeMessage
The IMeetingRequest
interface represents a meeting
request. Meeting requests are received when originators send appointments
to recipients. The internal item class is
item.meetingrequest.exchange
.
This is an example of how to create a meeting, set properties,
and send the request
Sample code:
/**
* The <code>createMeetingRequest</code> method demonstrates how to create an
* meeting request with either the MAPI or the WebDAV Exchange providers. The
* meeting request has several properties set and is then sent to the
* invitees.
*
* @throws CollaborationException if the session factory could not instantiate
* a session with the given parameters, or if there was an error
* retrieving folders, setting properties, or sending the request.
*/
public void createMeetingRequest
(
)
throws CollaborationException
{
// setup the session
Properties p = new Properties ();
p.setProperty (IExchangeSession.PROP_PROVIDER, IWebdavSession.INTERNAL_NAME);
p.setProperty (IExchangeSession.PROP_EXCHANGE_SERVER, "server");
p.setProperty (IExchangeSession.PROP_USER_DOMAIN, "domain");
p.setProperty (IExchangeSession.PROP_USER_USERNAME, "username");
p.setProperty (IExchangeSession.PROP_USER_PASSWORD, "password");
// create and open the session
IExchangeSession session = (IExchangeSession)SessionFactory.createSession(p);
session.open();
session.login ();
IRootContainer root = session.getDefaultRootContainer ();
// Get a handle to the calendar folder
IExchangeCalendarContainer calendar = null;
calendar = (IExchangeCalendarContainer)session.getDefaultContainer(
DefaultContainerClassEnum.CALENDAR );
// add a new appointment to the calendar, but do not commit it yet
// the item will be of the type IExchangeAppointment.CLASS
IExchangeAppointment appt = null;
appt = (IExchangeAppointment)calendar.add( IExchangeAppointment.CLASS, false );
// set the subject
appt.setSubject( "Compoze Software Test Meeting" );
// set the body
// the HTML body could also be set with HTML instead
appt.setBody( "Body of the meeting." );
Calendar cal = Calendar.getInstance();
cal.set( Calendar.HOUR_OF_DAY, 10 );
cal.set( Calendar.MINUTE, 0 );
cal.set( Calendar.SECOND, 0 );
cal.set( Calendar.MILLISECOND, 0 );
Date start = cal.getTime();
cal.add( Calendar.MINUTE, 45 );
Date end = cal.getTime();
// create the appointment from 10am to 10:45am
appt.setDates( start, end );
// commit the appointment
// it will have a default busy status of BUSY
appt.commit();
// Get a handle to the drafts folder
IExchangeMailContainer drafts = null;
drafts = (IExchangeMailContainer)session.getDefaultContainer(
DefaultContainerClassEnum.DRAFTS );
// create a meeting request from the appointment
IMeetingRequest mr = appt.createMeetingRequest( drafts );
// add a "TO" recipient
// "TO" recipients are required invitees of a meeting
mr.addRecipient( RecipientTypeEnum.TO, "user@domain.com" );
// add a "CC" recipient
// "CC" recipients are optional invitees of a meeting
mr.addRecipient( RecipientTypeEnum.CC, "user2@domain.com" );
// sent out the request and remove the original copy that is in drafts
mr.send( true );
// logout and close
session.logout ();
session.close();
}
Fields inherited from interface com.compoze.collab.exchange.IExchangeCalendarItem |
ASSOCIATED_APPOINTMENT_LINK, ASSOCIATED_INSTANCE_LINK, IS_RESPONSE_REQUESTED, KEYID_ASSOCIATED_APPOINTMENT_LINK, KEYID_ASSOCIATED_INSTANCE_LINK, KEYID_IS_RESPONSE_REQUESTED, KEYID_MEETING_RESPONSE_STATUS, KEYID_MEETING_STATUS, KEYID_RECURRENCE_PATTERN, KEYID_REMINDER_MINUTES_BEFORE_START, KEYID_REPLY_TIME, KEYID_TIMEZONE_INFO, KEYID_TIMEZONE_STRING, MEETING_RESPONSE_STATUS, MEETING_STATUS, RECURRENCE_PATTERN, REMINDER_MINUTES_BEFORE_START, REPLY_TIME, TIMEZONE_INFO, TIMEZONE_STRING |
Fields inherited from interface com.compoze.collab.exchange.IExchangeItem |
BODY_RTF, CONTACT_NAMES, CREATOR_ENTRYID, FLAG, FLAG_REMIND_BY, FLAG_TEXT, HAS_REMINDER, HIDE_ATTACHMENTS, ICON_INDEX, IS_HIDDEN, KEYID_BODY_RTF, KEYID_CONTACT_NAMES, KEYID_CREATOR_ENTRYID, KEYID_FLAG, KEYID_FLAG_REMIND_BY, KEYID_FLAG_TEXT, KEYID_HAS_REMINDER, KEYID_HIDE_ATTACHMENTS, KEYID_ICON_INDEX, KEYID_IS_HIDDEN, KEYID_MILEAGE, KEYID_NORMALIZED_SUBJECT, KEYID_PRIORITY, KEYID_SENSITIVITY, KEYID_SUBJECT_PREFIX, MILEAGE, NORMALIZED_SUBJECT, PRIORITY, SENSITIVITY, SUBJECT_PREFIX |
Fields inherited from interface com.compoze.collab.groupware.ICalendarItem |
BUSY_STATUS, DURATION, END_TIME, IS_ALL_DAY, IS_RECURRING, KEYID_BUSY_STATUS, KEYID_DURATION, KEYID_END_TIME, KEYID_IS_ALL_DAY, KEYID_IS_RECURRING, KEYID_LOCATION, KEYID_START_TIME, LOCATION, START_TIME |
Fields inherited from interface com.compoze.collab.groupware.IGroupwareItem |
CATEGORIES, DATE_CREATED, DATE_LAST_MODIFIED, IMPORTANCE, KEYID_CATEGORIES, KEYID_DATE_CREATED, KEYID_DATE_LAST_MODIFIED, KEYID_IMPORTANCE, KEYID_SIZE, KEYID_SUBJECT, SIZE, SUBJECT |
Fields inherited from interface com.compoze.collab.groupware.IMailMessage |
DELIVERY_DATE, DISPLAY_BCC, DISPLAY_CC, DISPLAY_FROM, DISPLAY_TO, ENCRYPTED, KEYID_DELIVERY_DATE, KEYID_DISPLAY_BCC, KEYID_DISPLAY_CC, KEYID_DISPLAY_FROM, KEYID_DISPLAY_TO, KEYID_ENCRYPTED, KEYID_READ_RECEIPT_REQUESTED, KEYID_SENDER_ADDRESS, KEYID_SENDER_NAME, KEYID_SENT_DATE, KEYID_SIGNED, KEYID_UNREAD, READ_RECEIPT_REQUESTED, SENDER_ADDRESS, SENDER_NAME, SENT_DATE, SIGNED, UNREAD |
Method Summary |
void |
accept(ICalendarContainer container,
boolean bTentative)
Accepts this meeting request, but does not create a meeting notice to return
to the organizer. |
IMeetingNotice |
accept(ICalendarContainer calContainer,
IMailContainer mailContainer,
boolean bTentative)
Accepts this meeting request and creates an IMeetingNotice
to return to the originator. |
IMeetingNotice |
accept(ICalendarContainer calContainer,
IMailContainer mailContainer,
boolean bTentative,
FetchProfile fp)
Accepts this meeting request and creates an IMeetingNotice
to return to the originator. |
void |
decline()
Declines this meeting request, but does not create a notice to return to the
organizer. |
IMeetingNotice |
decline(IMailContainer container)
Declines this meeting request and creates an IMeetingNotice
to return to the originator. |
IExchangeAppointment |
getAssociatedAppointment(ICalendarContainer container)
Gets the appointment associated with this meeting request if it exists
on the calendar. |
IExchangeAppointment |
getAssociatedAppointment(ICalendarContainer container,
FetchProfile profile)
Gets the appointment associated with this meeting request if it exists
on the calendar. |
BusyStatus |
getIntendedBusyStatus()
Gets the busy status that is intended for the appointment associated with
this meeting request. |
void |
send()
Sends this meeting request. |
void |
send(boolean bDelete)
Sends the meeting request, optionally deleting it after submit. |
void |
send(IContainer moveTo)
Sends the message, optionally saving it to a folder. |
Methods inherited from interface com.compoze.collab.exchange.IExchangeItem |
getBodyRtf, getContactNames, getFlagStatus, getFlagText, getHideAttachments, getMileage, getPriority, getSensitivity, getSubjectPrefix, isHidden, setBodyRtf, setContactNames, setFlagStatus, setFlagText, setHideAttachments, setMileage, setPriority, setSensitivity, setSubjectPrefix |
Methods inherited from interface com.compoze.collab.groupware.IGroupwareItem |
getBodyHtml, getBodyHtml, getCategories, getDateCreated, getDateLastModified, getImportance, getNormalizedSubject, getSize, getSubject, getSubject, getSubjectPrefix, setBodyHtml, setCategories, setImportance, setSubject |
Methods inherited from interface com.compoze.collab.IItem |
commit, containsKey, containsKey, copyProperties, copyTo, delete, fetchProperties, getAttribute, getEnum, getID, getInputStream, getItemClass, getOutputStream, getParent, getParent, getParentID, getProperties, getProperties, getProperties, getProperty, getProperty, getProperty, getReader, getRootContainer, getSession, getWriter, isMissing, moveTo, removeAttribute, removeProperty, setAttribute, setProperties, setProperty, setProperty, setProperty |
Methods inherited from interface com.compoze.collab.groupware.IMailMessage |
addEmbeddedAttachment, addRecipient, addRecipient, forward, forward, getBccAddresses, getBccRecipients, getCcAddresses, getCcRecipients, getDateDelivered, getDateSent, getFromAddresses, getRecipientsByType, getSender, getToAddresses, getToRecipients, isEncrypted, isReadReceiptRequested, isSigned, isUnread, removeRecipient, removeRecipient, removeRecipient, reply, reply, setEncrypted, setReadReceiptRequested, setSigned, setUnread |
KEYID_INTENDED_BUSY_STATUS
public static final int KEYID_INTENDED_BUSY_STATUS
- The
int
ID for the INTENDED_BUSY_STATUS
key.
INTENDED_BUSY_STATUS
public static final Key INTENDED_BUSY_STATUS
- The key representing the ID of appointment that is associated with this request.
CLASS
public static final ItemClass CLASS
- The item class of
IMeetingRequest
.
accept
public IMeetingNotice accept(ICalendarContainer calContainer,
IMailContainer mailContainer,
boolean bTentative)
throws CollaborationException
- Accepts this meeting request and creates an
IMeetingNotice
to return to the originator.
- Parameters:
calContainer
- the container to save the accepted meeting into,
or null
to use the default calendar container.mailContainer
- the container to save the meeting notice to,
or null
to not return a notice.bTentative
- if true
, accepts the meeting request
tentativly.- Returns:
- an
IMeetingNotice
object that can be sent to the
organizer, or null
if no container was specified to
hold the notice. The notice informs them of the accepted status. - Throws:
CollaborationException
- if there was an error creating the notice- See Also:
IMailMessage.SENDER_NAME
,
IMailMessage.SENDER_ADDRESS
,
IExchangeCalendarItem.ASSOCIATED_APPOINTMENT_LINK
accept
public IMeetingNotice accept(ICalendarContainer calContainer,
IMailContainer mailContainer,
boolean bTentative,
FetchProfile fp)
throws CollaborationException
- Accepts this meeting request and creates an
IMeetingNotice
to return to the originator.
- Parameters:
calContainer
- the container to save the accepted meeting into,
or null
to use the default calendar containermailContainer
- the container to save the meeting notice to,
or null
to not return a noticebTentative
- if true
, accepts the meeting request
tentativlyfp
- the fetch profile to use when returning the meeting
notice (null
to use FetchProfile.ALL
)- Returns:
- an
IMeetingNotice
object that can be sent to the
organizer, or null
if no container was specified to
hold the notice. The notice informs them of the accepted status. - Throws:
CollaborationException
- if there was an error creating the notice- See Also:
IMailMessage.SENDER_NAME
,
IMailMessage.SENDER_ADDRESS
,
IExchangeCalendarItem.ASSOCIATED_APPOINTMENT_LINK
accept
public void accept(ICalendarContainer container,
boolean bTentative)
throws CollaborationException
- Accepts this meeting request, but does not create a meeting notice to return
to the organizer.
- Parameters:
container
- the container to save the accepted meeting into,
or null
to use the default calendar container.bTentative
- if true
, accepts the meeting request
tentativly.- Throws:
CollaborationException
- if there was an error creating the notice- See Also:
IExchangeCalendarItem.ASSOCIATED_APPOINTMENT_LINK
decline
public IMeetingNotice decline(IMailContainer container)
throws CollaborationException
- Declines this meeting request and creates an
IMeetingNotice
to return to the originator.
- Parameters:
container
- the container to save the declined notice to, or
null
to decline without creating a notice.- Returns:
- an
IMeetingNotice
object that can be sent to the
organizer, or null
if no container was specified to
save the notice to. The notice informs them of the declined status. - Throws:
CollaborationException
- if there was an error creating the notice
decline
public void decline()
throws CollaborationException
- Declines this meeting request, but does not create a notice to return to the
organizer.
- Throws:
CollaborationException
- if there was an error creating the notice
getAssociatedAppointment
public IExchangeAppointment getAssociatedAppointment(ICalendarContainer container)
throws CollaborationException
- Gets the appointment associated with this meeting request if it exists
on the calendar.
- Parameters:
container
- the calendar container to search when trying
to retrieve the associated appointment. If null
,
uses the default calendar container.- Returns:
- the appointment associated with this meeting request. If the
appointment is recurring, then the series master is returned.
Returns
null
if the appointment cannot be found. - Throws:
CollaborationException
- - See Also:
IExchangeCalendarItem.ASSOCIATED_APPOINTMENT_LINK
getAssociatedAppointment
public IExchangeAppointment getAssociatedAppointment(ICalendarContainer container,
FetchProfile profile)
throws CollaborationException
- Gets the appointment associated with this meeting request if it exists
on the calendar.
- Parameters:
container
- the calendar container to search when trying
to retrieve the associated appointment. If null
,
uses the default calendar container.profile
- the profile to use when retrieving the
appointment.- Returns:
- the appointment associated with this meeting request. If the
appointment is recurring, then the series master is returned.
Returns
null
if the appointment cannot be found. - Throws:
CollaborationException
- - See Also:
IExchangeCalendarItem.ASSOCIATED_APPOINTMENT_LINK
getIntendedBusyStatus
public BusyStatus getIntendedBusyStatus()
throws CollaborationException
- Gets the busy status that is intended for the appointment associated with
this meeting request.
- Returns:
- the inteded busy status
- Throws:
CollaborationException
- if there was a problem retrieving the
intended busy status.- See Also:
INTENDED_BUSY_STATUS
send
public void send()
throws CollaborationException
- Sends this meeting request. Depending on the provider, the meeting request
may be copied or moved to different containers before
actually sending. Looks up the associated appointment to modify the recipient
list. The properties listed in the "See Also" section are required to send
the meeting request. Meeting Requests that are returned via the
IExchangeAppointment.createMeetingRequest(IMailContainer)
will
already have these required properties and will not need to be
re-fetched.
- Specified by:
send
in interface IMessage
- Throws:
CollaborationException
- if there was an error sending the message or
finding the associated appointment.- See Also:
ICalendarItem.START_TIME
,
ICalendarItem.END_TIME
send
public void send(boolean bDelete)
throws CollaborationException
- Sends the meeting request, optionally deleting it after submit. Looks up the
associated appointment to modify the recipient list. The properties listed
in the "See Also" section are required to send
the meeting request. Meeting Requests that are returned via the
IExchangeAppointment.createMeetingRequest(IMailContainer)
will
already have these required properties and will not need to be
re-fetched.
- Specified by:
send
in interface IMailMessage
- Parameters:
bDelete
- true
to delete the message,
false
to leave it.- Throws:
CollaborationException
- if there was an error sending the message or
finding the associated appointment.- See Also:
ICalendarItem.START_TIME
,
ICalendarItem.END_TIME
send
public void send(IContainer moveTo)
throws CollaborationException
- Sends the message, optionally saving it to a folder. Looks up the
associated appointment to modify the recipient list. The properties listed
in the "See Also" section are required to send
the meeting request. Meeting Requests that are returned via the
IExchangeAppointment.createMeetingRequest(IMailContainer)
will
already have these required properties and will not need to be
re-fetched.
- Specified by:
send
in interface IMailMessage
- Parameters:
moveTo
- the container to move the message (use null
to leave the message)- Throws:
CollaborationException
- if there was an error sending the message or
finding the associated appointment.- See Also:
ICalendarItem.START_TIME
,
ICalendarItem.END_TIME
Copyright ©1999-2005 Compoze Software, Inc. All rights reserved.