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.domino
Interface IDominoAppointment

All Superinterfaces:
  IAppointment, IAttachmentSupport, ICalendarItem, IDocument, IGroupwareItem, IItem, IMailMessage, IMessage, IMessagingItem, java.io.Serializable

public interface IDominoAppointment
extends IMailMessage, IAppointment, IDocument, IAttachmentSupport

This interface is used for Domino specific appointments. The groupware appointment is extended to add the Domino specific `RepeatPattern` as well as the concept of an appointment type.

The Domino repeat pattern provides the capability for repeating appointments. Domino handles repeating appointments by maintaining an exhaustive list of dates that the appointment recurs. The API's `RepeatPattern` class is used to manipulate this date list.

Collab Key | Domino Concept
Is All Day (`ICalendarItem.IS_ALL_DAY`) | Appointment Type (Label 1, `AppointmentTypeEnum.ALL_DAY_EVENT`)
Start Time (`ICalendarItem.START_TIME`) | Start Date Time (Label 1, `DominoKey.START_DATE_TIME`)
End Time (`ICalendarItem.END_TIME`) | End Date Time (Label 1, `DominoKey.END_DATE_TIME`)
Is Recurring (`ICalendarItem.IS_RECURRING`) | Repeats (Label 1, `DominoKey.REPEATS`)
Duration (`ICalendarItem.DURATION`) | No Mapping
Location (`ICalendarItem.LOCATION`) | No Mapping
Busy Status (`ICalendarItem.BUSY_STATUS`) | No Mapping

An example of creating a Domino appointment follows

Sample code:

    /**
     * The <code>createAppointment</code> method demonstrates how to create an
     * appointment with the Domino provider.
     *
     * @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 a message.
     */
    public  void    createAppointment
    (
    )
    throws  CollaborationException
        {
        HashMap props = new HashMap ();

        props.put (ISession.PROP_PROVIDER, IDominoSession.INTERNAL_NAME);
        props.put (IDominoSession.PROP_SERVICE_URL, "server");
        props.put (IDominoSession.PROP_USER_USERNAME, "username");
        props.put (IDominoSession.PROP_USER_PASSWORD, "password");

        IDominoSession session = (IDominoSession) SessionFactory.createSession (
            props);

        session.login ();

        ICalendarContainer calCt = (ICalendarContainer) session.getDefaultContainer (
            DefaultContainerClassEnum.CALENDAR);

        IDominoAppointment apt = (IDominoAppointment) calCt.add ();

        // subject, body, importance
        apt.setSubject ("apt subject");
        apt.setBody ("apt body");
        apt.setImportance (ImportanceEnum.MEDIUM);
        apt.setLocation ("apt location");
        //apt.setBusyStatus (BusyStatusEnum.BUSY);

        // start and end time
        Calendar cal = session.getCalendar ();
        cal.set (Calendar.HOUR_OF_DAY, 10);
        cal.set (Calendar.MINUTE, 0);
        cal.set (Calendar.SECOND, 0);
        cal.set (Calendar.MILLISECOND, 0);
        Date startDate = cal.getTime ();
        cal.set (Calendar.HOUR_OF_DAY, 11);
        Date endDate = cal.getTime();
        apt.setDates (startDate, endDate);
        apt.commit ();

        boolean bRecurring = true; // can switch for no recurrence
        if (bRecurring)
            {
            int iInterval = 1; // every week
            int[] daysOfWeek = new int[7];
            daysOfWeek[0] = Calendar.SUNDAY;
            daysOfWeek[1] = Calendar.MONDAY;
            daysOfWeek[2] = Calendar.TUESDAY;
            daysOfWeek[3] = Calendar.WEDNESDAY;
            daysOfWeek[4] = Calendar.THURSDAY;
            daysOfWeek[5] = Calendar.FRIDAY;
            daysOfWeek[6] = Calendar.SATURDAY;

            cal.add (Calendar.DATE, 21); // three weeks
            cal.set (Calendar.HOUR_OF_DAY, 0);
            Date untilDate = cal.getTime ();

            RepeatPattern pattern = RepeatPattern.createWeekly (session, startDate,
                iInterval, daysOfWeek, RepeatWeekendsEnum.DONT_MOVE, untilDate);

            apt.setRepeatPattern (pattern);
            }

        session.close ();
        }

Field Summary
`static Key` | `APPOINTMENT_TYPE` Key that represents the appointment type.
`static Key` | `BOOK_FREE_TIME` Key that represents the appointment book free time flag.
`static Key` | `BUSY_PRIORITY` Key that represents the appointment busy priority flag.
`static ItemClass` | `CLASS` The item class of `IExchangeAddressEntry`.
`static Key` | `END_TIMES` Key that represents the Domino end times array.
`static Key` | `INSTANCE_TYPE` Key that represents the instance type.
`static int` | `KEYID_APPOINTMENT_TYPE` The `int` ID for the `APPOINTMENT_TYPE` key.
`static int` | `KEYID_BOOK_FREE_TIME` The `int` ID for the `BOOK_FREE_TIME` key.
`static int` | `KEYID_BUSY_PRIORITY` The `int` ID for the `BUSY_PRIORITY` key.
`static int` | `KEYID_END_TIMES` The `int` ID for the `END_TIMES` key.
`static int` | `KEYID_INSTANCE_TYPE` The `int` ID for the `INSTANCE_TYPE` key.
`static int` | `KEYID_MARK_PRIVATE` The `int` ID for the `MARK_PRIVATE` key.
`static int` | `KEYID_PREVENT_COUNTER` The `int` ID for the `PREVENT_COUNTER` key.
`static int` | `KEYID_PREVENT_DELEGATE` The `int` ID for the `PREVENT_DELEGATE` key.
`static int` | `KEYID_START_TIMES` The `int` ID for the `START_TIMES` key.
`static Key` | `MARK_PRIVATE` Key that represents the mark private flag.
`static Key` | `PREVENT_COUNTER` Key that represents the prevent counter flag.
`static Key` | `PREVENT_DELEGATE` Key that represents the prevent delegate flag.
`static Key` | `START_TIMES` Key that represents the Domino start times array.

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`

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.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.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.domino.IDocument
`DOCUMENT_TYPE, EMBEDDED_IMAGE_COUNT, KEYID_DOCUMENT_TYPE, KEYID_EMBEDDED_IMAGE_COUNT, KEYID_PARENT_DOCUMENT_ID, PARENT_DOCUMENT_ID`

Fields inherited from interface com.compoze.collab.IAttachmentSupport
`ATTACHMENTS, HAS_ATTACHMENT, KEYID_ATTACHMENTS, KEYID_HAS_ATTACHMENT`

Method Summary
`void` | `commit(int iUpdateRule)` Hits the server to update any changed properties.
`void` | `commit(int iUpdateRule, boolean bSend)` Hits the server to update any changed properties.
`void` | `delete(int iUpdateRule)` Deletes the appointment and handles repeat pattern updates.
`AppointmentType` | `getAppointmentType()` Gets the appointment type of the appointment.
`java.util.Date[]` | `getEndTimes()` Gets the Domino end time array for this appointment.
`InstanceInfo[]` | `getInstanceInfo()` Hits the server and gets an array of instance info for this appointment.
`InstanceType` | `getInstanceType()` Gets the instance type for this appointment.
`boolean` | `getPreventCounter()` Gets the prevent counter propose flag.
`boolean` | `getPreventDelegate()` Gets the prevent delegate flag.
`RepeatPattern` | `getRepeatPattern()` Hits the server and gets the repeat pattern for this appointment.
`java.util.Date[]` | `getStartTimes()` Gets the Domino start time array for this appointment.
`boolean` | `isAnniversary()` Checks if the appointment is an anniversary.
`boolean` | `isBookFreeTime()` Checks the book free time for the appointment.
`boolean` | `isMarkPrivate()` Checks the mark private flag for the appointment.
`void` | `send()` Sends the appointment as a meeting request.
`void` | `setAppointmentType(AppointmentType type)` Sets the appointment type of the appointment.
`void` | `setBookFreeTime(boolean bFlag)` Sets the book free time flag of the appointment.
`void` | `setMarkPrivate(boolean bFlag)` Sets the mark private flag of the appointment.
`void` | `setPreventCounter(boolean bFlag)` Sets the prevent counter propose flag.
`void` | `setPreventDelegate(boolean bFlag)` Sets the prevent delegate flag.
`void` | `setRepeatPattern(RepeatPattern pattern)` Hits the server and sets the repeat pattern on the appointment.

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, send, send, setEncrypted, setReadReceiptRequested, setSigned, setUnread`

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

Methods inherited from interface com.compoze.collab.messaging.IMessagingItem
`getBody, getBodyHtml, setBody, setBodyHtml`

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.IGroupwareItem
`getBodyHtml, getBodyHtml, getCategories, getDateCreated, getDateLastModified, getImportance, getNormalizedSubject, getSize, getSubject, getSubject, getSubjectPrefix, setBodyHtml, setCategories, setImportance, setSubject`

Methods inherited from interface com.compoze.collab.groupware.IAppointment
`cancel, setAllDayEvent, setBusyStatus, setDates, setLocation`

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

Methods inherited from interface com.compoze.collab.domino.IDocument
`getDocumentType, getEmbeddedImageCount, getParentDocumentID`

Methods inherited from interface com.compoze.collab.IAttachmentSupport
`addAttachment, getAttachment, getAttachmentCount, getAttachments, hasAttachment`

Field Detail

### KEYID_BOOK_FREE_TIME

    public static final int KEYID_BOOK_FREE_TIME

  The `int` ID for the `BOOK_FREE_TIME` key.

### KEYID_BUSY_PRIORITY

    public static final int KEYID_BUSY_PRIORITY

  The `int` ID for the `BUSY_PRIORITY` key.

### KEYID_MARK_PRIVATE

    public static final int KEYID_MARK_PRIVATE

  The `int` ID for the `MARK_PRIVATE` key.

### KEYID_APPOINTMENT_TYPE

    public static final int KEYID_APPOINTMENT_TYPE

  The `int` ID for the `APPOINTMENT_TYPE` key.

### KEYID_INSTANCE_TYPE

    public static final int KEYID_INSTANCE_TYPE

  The `int` ID for the `INSTANCE_TYPE` key.

### KEYID_PREVENT_DELEGATE

    public static final int KEYID_PREVENT_DELEGATE

  The `int` ID for the `PREVENT_DELEGATE` key.

### KEYID_PREVENT_COUNTER

    public static final int KEYID_PREVENT_COUNTER

  The `int` ID for the `PREVENT_COUNTER` key.

### KEYID_START_TIMES

    public static final int KEYID_START_TIMES

  The `int` ID for the `START_TIMES` key.

### KEYID_END_TIMES

    public static final int KEYID_END_TIMES

  The `int` ID for the `END_TIMES` key.

### BOOK_FREE_TIME

    public static final Key BOOK_FREE_TIME

  Key that represents the appointment book free time flag.

### BUSY_PRIORITY

    public static final Key BUSY_PRIORITY

  Key that represents the appointment busy priority flag.

### MARK_PRIVATE

    public static final Key MARK_PRIVATE

  Key that represents the mark private flag.

### APPOINTMENT_TYPE

    public static final Key APPOINTMENT_TYPE

  Key that represents the appointment type.

### INSTANCE_TYPE

    public static final Key INSTANCE_TYPE

  Key that represents the instance type.

### PREVENT_DELEGATE

    public static final Key PREVENT_DELEGATE

  Key that represents the prevent delegate flag.

### PREVENT_COUNTER

    public static final Key PREVENT_COUNTER

  Key that represents the prevent counter flag.

### START_TIMES

    public static final Key START_TIMES

  Key that represents the Domino start times array.

### END_TIMES

    public static final Key END_TIMES

  Key that represents the Domino end times array.

### CLASS

    public static final ItemClass CLASS

  The item class of `IExchangeAddressEntry`.

Method Detail

### getStartTimes

    public java.util.Date[] getStartTimes()
                                   throws CollaborationException

  Gets the Domino start time array for this appointment.
  Returns:
    the start time array
  See Also:
    `START_TIMES`

### getEndTimes

    public java.util.Date[] getEndTimes()
                                 throws CollaborationException

  Gets the Domino end time array for this appointment.
  Returns:
    the end time array
  See Also:
    `END_TIMES`

### isBookFreeTime

    public boolean isBookFreeTime()
                           throws CollaborationException

  Checks the book free time for the appointment. Book free time indicates whether the appointment is penciled in or not. Time will appear free to others.
  Returns:
    `true` for not penciled in; `false` for penciled in (time will appear free to others)
  See Also:
    `BOOK_FREE_TIME`

### setBookFreeTime

    public void setBookFreeTime(boolean bFlag)
                         throws CollaborationException

  Sets the book free time flag of the appointment.
  Parameters:
    `bFlag` - `true` for pencil in; `false` otherwise
  See Also:
    `BOOK_FREE_TIME`, `BUSY_PRIORITY`

### isMarkPrivate

    public boolean isMarkPrivate()
                          throws CollaborationException

  Checks the mark private flag for the appointment. Mark private indicates others cannot see details about this event.
  Returns:
    `true` for marked private; `false` otherwise
  See Also:
    `MARK_PRIVATE`

### setMarkPrivate

    public void setMarkPrivate(boolean bFlag)
                        throws CollaborationException

  Sets the mark private flag of the appointment.
  Parameters:
    `bFlag` - `true` to mark private; `false` otherwise
  See Also:
    `MARK_PRIVATE`

### getAppointmentType

    public AppointmentType getAppointmentType()
                                       throws CollaborationException

  Gets the appointment type of the appointment.
  Returns:
    the Domino appointment type (not `null`)
  See Also:
    `APPOINTMENT_TYPE`

### setAppointmentType

    public void setAppointmentType(AppointmentType type)
                            throws CollaborationException

  Sets the appointment type of the appointment. Note: the appointment type should only be set once, during creation. Changing it later may make the appointment unusable from Notes.
  Parameters:
    `type` - the appointment type
  See Also:
    `APPOINTMENT_TYPE`

### isAnniversary

    public boolean isAnniversary()
                          throws CollaborationException

  Checks if the appointment is an anniversary.
  Returns:
    `true` if an anniversary; `false` otherwise
  See Also:
    `APPOINTMENT_TYPE`, `getAppointmentType()`

### getInstanceType

    public InstanceType getInstanceType()
                                 throws CollaborationException

  Gets the instance type for this appointment.
  Returns:
    the instance type (not `null`)
  See Also:
    `INSTANCE_TYPE`

### getRepeatPattern

    public RepeatPattern getRepeatPattern()
                                   throws CollaborationException

  Hits the server and gets the repeat pattern for this appointment. This method only works on appointment that are repeating; otherwise, `null` is returned.
  Returns:
    the repeat patten or `null` if this is not a repeating appointment
  See Also:
    `ICalendarItem.isRecurring()`, `ICalendarItem.IS_RECURRING`

### getInstanceInfo

    public InstanceInfo[] getInstanceInfo()
                                   throws CollaborationException

  Hits the server and gets an array of instance info for this appointment. Be sure to load the parent document id property key.
  Returns:
    an array of instance info or an empty array for no instances
  See Also:
    `getInstanceType()`, `InstanceTypeEnum.PARENT`, `IDocument.PARENT_DOCUMENT_ID`

### setRepeatPattern

    public void setRepeatPattern(RepeatPattern pattern)
                          throws CollaborationException

  Hits the server and sets the repeat pattern on the appointment. This method only works on appointment that are of instance type `SINGLE`; otherwise, this method does nothing. Also, the appointment must be committed before calling this method.

  Note: the repeat pattern is set immediately and cannot be undone. There is no need to call `commit()`.

  Note: the start and end times properties must be loaded prior to calling this method

  Parameters:
    `pattern` - the repeat patten (may not be `null`)
  See Also:
    `getInstanceType()`, `APPOINTMENT_TYPE`, `INSTANCE_TYPE`, `START_TIMES`, `END_TIMES`

### delete

    public void delete(int iUpdateRule)
                throws CollaborationException

  Deletes the appointment and handles repeat pattern updates. If only the instance is being deleted, then the appointment must have been retrieved by calling `(String, FetchProfile, Date)`.
  Parameters:
    `iUpdateRule` - the update rule ( see `RepeatPattern.UPDATE_` constants)
    `instanceDate` - the instance to delete (if `iUpdateRule` is anything other than `UPDATE_ALL` and the appointment was not retrieved using a date range query, for example it was retrieved by ID, then this must not be `null`)
  See Also:
    `ICalendarItem.IS_RECURRING`, `START_TIMES`, `END_TIMES`

### commit

    public void commit(int iUpdateRule)
                throws CollaborationException

  Hits the server to update any changed properties. Sends an update message if it's a meeting. If only the instance is being changed, then the appointment must have been retrieved by calling `(String, FetchProfile, Date)`.
  Parameters:
    `iUpdateRule` - the update rule (see `RepeatPattern.UPDATE_` constants)
  See Also:
    `ICalendarItem.IS_RECURRING`, `START_TIMES`, `END_TIMES`

### commit

    public void commit(int iUpdateRule,
                       boolean bSend)
                throws CollaborationException

  Hits the server to update any changed properties. If only the instance is being changed, then the appointment must have been retrieved by calling `(String, FetchProfile, Date)`.
  Parameters:
    `iUpdateRule` - the update rule (see `RepeatPattern.UPDATE_` constants)
    `bSend` - if `true` and the appointment is a meeting, send an update message
  See Also:
    `ICalendarItem.IS_RECURRING`, `START_TIMES`, `END_TIMES`

### getPreventCounter

    public boolean getPreventCounter()
                              throws CollaborationException

  Gets the prevent counter propose flag. If this flag is set, you cannot propose a new time for this meeting (i.e. counter).
  Returns:
    `true` to prevent counter propose; `false` otherwise
  See Also:
    `PREVENT_COUNTER`

### setPreventCounter

    public void setPreventCounter(boolean bFlag)
                           throws CollaborationException

  Sets the prevent counter propose flag. If this flag is set, you cannot propose a new time for this meeting (i.e. counter).
  Parameters:
    `bFlag` - `true` to prevent counter propose; `false` otherwise
  See Also:
    `PREVENT_COUNTER`

### getPreventDelegate

    public boolean getPreventDelegate()
                               throws CollaborationException

  Gets the prevent delegate flag. If this flag is set, you cannot delegate this meeting to another person.
  Returns:
    `true` to prevent delegating; `false` otherwise
  See Also:
    `PREVENT_DELEGATE`

### setPreventDelegate

    public void setPreventDelegate(boolean bFlag)
                            throws CollaborationException

  Sets the prevent delegate flag. If this flag is set, you cannot delegate this meeting to another person.
  Parameters:
    `bFlag` - `true` to prevent delegating; `false` otherwise
  See Also:
    `PREVENT_DELEGATE`

### send

    public void send()
              throws CollaborationException

  Sends the appointment as a meeting request. You must first add recipients to the appointment before calling `send`. This method automatically sets the appointment type to `MEETING`.
  Specified by:
    `send` in interface `IMessage`
  Following copied from interface: `com.compoze.collab.messaging.IMessage`
  Throws:
    `CollaborationException` - if the provider encountered an error while sending the message

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.