Overview | Package | Class | Tree | Deprecated | Index | Help
| Compoze Software, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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();
        }

Field Summary
`static ItemClass` | `CLASS` The item class of `IMeetingRequest`.
`static Key` | `INTENDED_BUSY_STATUS` The key representing the ID of appointment that is associated with this request.
`static int` | `KEYID_INTENDED_BUSY_STATUS` The `int` ID for the `INTENDED_BUSY_STATUS` key.

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.IAttachmentSupport
`ATTACHMENTS, HAS_ATTACHMENT, KEYID_ATTACHMENTS, KEYID_HAS_ATTACHMENT`

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.messaging.IMessagingItem
`BODY, BODY_HTML, KEYID_BODY, KEYID_BODY_HTML`

Fields inherited from interface com.compoze.collab.IItem
`ID, ITEM_CLASS, KEYID_ID, KEYID_ITEM_CLASS, KEYID_PARENT_ID, MINIMUM_ITEM_KEYS, PARENT_ID`

Fields inherited from interface com.compoze.collab.exchange.IExchangeMessage
`DELIVERY_RECEIPT_REQUESTED, KEYID_DELIVERY_RECEIPT_REQUESTED`

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`

Fields inherited from interface com.compoze.collab.messaging.IMessage
`KEYID_RECIPIENTS, RECIPIENTS`

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.IExchangeCalendarItem
`getExchangeTimeZone, getMeetingStatus, getRecurrencePattern, isRecurring`

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.IAttachmentSupport
`addAttachment, getAttachment, getAttachmentCount, getAttachments, hasAttachment`

Methods inherited from interface com.compoze.collab.groupware.ICalendarItem
`getBusyStatus, getDuration, getEndTime, getLocation, getStartTime, isAllDayEvent, isRecurring`

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.messaging.IMessagingItem
`getBody, setBody`

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.exchange.IExchangeMessage
`getDeliveryReceiptRequested, setDeliveryReceiptRequested`

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`

Methods inherited from interface com.compoze.collab.messaging.IMessage
`addRecipient, getRecipients, setRecipients`

Field Detail

### 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`.

Method Detail

### 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 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
    `fp` - 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Compoze Software, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright ©1999-2005 Compoze Software, Inc. All rights reserved.