microsoft.exchange.webservices.data.Appointment Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of exchange-ws-api Show documentation
Show all versions of exchange-ws-api Show documentation
The source came from http://archive.msdn.microsoft.com/ewsjavaapi
Support for Maven has been added.
The newest version!
/**************************************************************************
* copyright file="Appointment.java" company="Microsoft"
* Copyright (c) Microsoft Corporation. All rights reserved.
*
* Defines the Appointment.java.
**************************************************************************/
package microsoft.exchange.webservices.data;
import java.util.ArrayList;
import java.util.Date;
/**
* Represents an appointment or a meeting. Properties available on appointments
* are defined in the AppointmentSchema class.
*
*/
@Attachable
@ServiceObjectDefinition(xmlElementName = XmlElementNames.CalendarItem)
public class Appointment extends Item implements ICalendarActionProvider {
/**
* Initializes an unsaved local instance of Appointment". To bind to an
* existing appointment, use Appointment.Bind() instead.
*
* @param service
* The ExchangeService instance to which this appointmtnt is
* bound.
* @throws Exception
* the exception
*/
public Appointment(ExchangeService service) throws Exception {
super(service);
}
/**
* Initializes a new instance of Appointment.
*
* @param parentAttachment
* the parent attachment
* @param isNew
* If true, attachment is new.
* @throws Exception
* the exception
*/
protected Appointment(ItemAttachment parentAttachment, boolean isNew)
throws Exception {
// If we're running against Exchange 2007, we need to explicitly preset
// the StartTimeZone property since Exchange 2007 will otherwise scope
// start and end to UTC.
super(parentAttachment);
}
/**
* Binds to an existing appointment and loads the specified set of
* properties. Calling this method results in a call to EWS.
*
* @param service
* the service
* @param id
* the id
* @param propertySet
* the property set
* @return An Appointment instance representing the appointment
* corresponding to the specified Id.
* @throws Exception
* the exception
*/
public static Appointment bind(ExchangeService service, ItemId id,
PropertySet propertySet) throws Exception {
return service.bindToItem(Appointment.class, id, propertySet);
}
/**
* Binds to an existing appointment and loads its first class properties.
* Calling this method results in a call to EWS.
*
* @param service
* the service
* @param id
* the id
* @return An Appointment instance representing the appointment
* corresponding to the specified Id.
* @throws Exception
* the exception
*/
public static Appointment bind(ExchangeService service, ItemId id)
throws Exception {
return Appointment.bind(service, id, PropertySet.FirstClassProperties);
}
/**
* Binds to an existing appointment and loads its first class properties.
* Calling this method results in a call to EWS.
*
* @param service
* the service
* @param recurringMasterId
* the recurring master id
* @param occurenceIndex
* the occurence index
* @return An Appointment instance representing the appointment
* corresponding to the specified Id.
* @throws Exception
* the exception
*/
public static Appointment bindToOccurrence(ExchangeService service,
ItemId recurringMasterId, int occurenceIndex) throws Exception {
return Appointment.bindToOccurrence(service, recurringMasterId,
occurenceIndex, PropertySet.FirstClassProperties);
}
/**
* Binds to an existing appointment and loads its first class properties.
* Calling this method results in a call to EWS.
*
* @param service
* the service
* @param recurringMasterId
* the recurring master id
* @param occurenceIndex
* the occurence index
* @param propertySet
* the property set
* @return An Appointment instance representing the appointment
* corresponding to the specified Id.
* @throws Exception
* the exception
*/
public static Appointment bindToOccurrence(ExchangeService service,
ItemId recurringMasterId, int occurenceIndex,
PropertySet propertySet) throws Exception {
AppointmentOccurrenceId occurenceId = new AppointmentOccurrenceId(
recurringMasterId.getUniqueId(), occurenceIndex);
return Appointment.bind(service, occurenceId, propertySet);
}
/**
* Binds to the master appointment of a recurring series and loads its first
* class properties. Calling this method results in a call to EWS.
*
* @param service
* the service
* @param occurrenceId
* the occurrence id
* @return An Appointment instance representing the appointment
* corresponding to the specified Id.
* @throws Exception
* the exception
*/
public static Appointment bindToRecurringMaster(ExchangeService service,
ItemId occurrenceId) throws Exception {
return Appointment.bindToRecurringMaster(service, occurrenceId,
PropertySet.FirstClassProperties);
}
/**
* Binds to the master appointment of a recurring series and loads its first
* class properties. Calling this method results in a call to EWS.
*
* @param service
* the service
* @param occurrenceId
* the occurrence id
* @param propertySet
* the property set
* @return An Appointment instance representing the appointment
* corresponding to the specified Id.
* @throws Exception
* the exception
*/
public static Appointment bindToRecurringMaster(ExchangeService service,
ItemId occurrenceId, PropertySet propertySet) throws Exception {
RecurringAppointmentMasterId recurringMasterId =
new RecurringAppointmentMasterId(
occurrenceId.getUniqueId());
return Appointment.bind(service, recurringMasterId, propertySet);
}
/**
* Internal method to return the schema associated with this type of object.
*
* @return The schema associated with this type of object
*/
@Override
protected ServiceObjectSchema getSchema() {
return AppointmentSchema.Instance;
}
/**
* Gets the minimum required server version.
*
* @return Earliest Exchange version in which this service object type is
* supported.
*/
@Override
protected ExchangeVersion getMinimumRequiredServerVersion() {
return ExchangeVersion.Exchange2007_SP1;
}
/**
* Determines whether properties defined with
* ScopedDateTimePropertyDefinition require custom time zone scoping.
*
* @return if this item type requires custom scoping for scoped date/time
* properties; otherwise, .
*/
@Override
protected boolean getIsCustomDateTimeScopingRequired() {
return true;
}
/**
* Validates this instance.
* @throws Exception
*/
@Override
protected void validate() throws Exception {
super.validate();
// PS # 250452: Make sure that if we're
//on the Exchange2007_SP1 schema version,
// if any of the following
// properties are set or updated:
// o Start
// o End
// o IsAllDayEvent
// o Recurrence
// ... then, we must send the MeetingTimeZone element
// (which is generated from StartTimeZone for
// Exchange2007_SP1 requests (see
//StartTimeZonePropertyDefinition.cs).
// If the StartTimeZone isn't
// in the property bag, then throw, because clients must
// supply the proper time zone - either by
// loading it from a currently-existing appointment,
//or by setting it directly.
// Otherwise, to dirty
// the StartTimeZone property, we just set it to its current value.
// if ((this.getService().getRequestedServerVersion() == ExchangeVersion.Exchange2007_SP1) &&
// !(this.getService().getExchange2007CompatibilityMode())) {
// if (this.getPropertyBag().isPropertyUpdated(AppointmentSchema.Start) ||
// this.getPropertyBag().isPropertyUpdated(AppointmentSchema.End) ||
// this.getPropertyBag().isPropertyUpdated(AppointmentSchema.IsAllDayEvent) ||
// this.getPropertyBag().isPropertyUpdated(AppointmentSchema.Recurrence))
// {
// // If the property isn't in the property bag, throw....
// if (!this.getPropertyBag().contains(AppointmentSchema.StartTimeZone))
// {
// throw new ServiceLocalException(Strings.
// StartTimeZoneRequired);
// //getStartTimeZoneRequired());
// }
//
// // Otherwise, set the time zone to its current value to
// // force it to be sent with the request.
// this.setStartTimeZone(this.getStartTimeZone());
// }
// }
}
/**
* Creates a reply response to the organizer and/or attendees of the
* meeting.
*
* @param replyAll
* the reply all
* @return A ResponseMessage representing the reply response that can
* subsequently be modified and sent.
* @throws Exception
* the exception
*/
public ResponseMessage createReply(boolean replyAll) throws Exception {
this.throwIfThisIsNew();
return new ResponseMessage(this,
replyAll ? ResponseMessageType.ReplyAll :
ResponseMessageType.Reply);
}
/**
* Replies to the organizer and/or the attendees of the meeting. Calling
* this method results in a call to EWS.
*
* @param bodyPrefix
* the body prefix
* @param replyAll
* the reply all
* @throws Exception
* the exception
*/
public void reply(MessageBody bodyPrefix, boolean replyAll)
throws Exception {
ResponseMessage responseMessage = this.createReply(replyAll);
responseMessage.setBodyPrefix(bodyPrefix);
responseMessage.sendAndSaveCopy();
}
/**
* Creates a forward message from this appointment.
*
* @return A ResponseMessage representing the forward response that can
* subsequently be modified and sent.
* @throws Exception
* the exception
*/
public ResponseMessage createForward() throws Exception {
this.throwIfThisIsNew();
return new ResponseMessage(this, ResponseMessageType.Forward);
}
/**
* Forwards the appointment. Calling this method results in a call to EWS.
*
* @param bodyPrefix
* the body prefix
* @param toRecipients
* the to recipients
* @throws Exception
* the exception
*/
public void forward(MessageBody bodyPrefix, EmailAddress... toRecipients)
throws Exception {
if (null != toRecipients) {
ArrayList list = new ArrayList();
for (EmailAddress email : toRecipients) {
list.add(email);
}
this.forward(bodyPrefix, list);
}
}
/**
* Forwards the appointment. Calling this method results in a call to EWS.
*
* @param bodyPrefix
* the body prefix
* @param toRecipients
* the to recipients
* @throws Exception
* the exception
*/
public void forward(MessageBody bodyPrefix,
Iterable toRecipients) throws Exception {
ResponseMessage responseMessage = this.createForward();
responseMessage.setBodyPrefix(bodyPrefix);
responseMessage.getToRecipients()
.addEmailRange(toRecipients.iterator());
responseMessage.sendAndSaveCopy();
}
/**
* Saves this appointment in the specified folder. Calling this method
* results in at least one call to EWS. Mutliple calls to EWS might be made
* if attachments have been added.
*
* @param destinationFolderName
* the destination folder name
* @param sendInvitationsMode
* the send invitations mode
* @throws Exception
* the exception
*/
public void save(WellKnownFolderName destinationFolderName,
SendInvitationsMode sendInvitationsMode) throws Exception {
this.internalCreate(new FolderId(destinationFolderName), null,
sendInvitationsMode);
}
/**
* Saves this appointment in the specified folder. Calling this method
* results in at least one call to EWS. Mutliple calls to EWS might be made
* if attachments have been added.
*
* @param destinationFolderId
* the destination folder id
* @param sendInvitationsMode
* the send invitations mode
* @throws Exception
* the exception
*/
public void save(FolderId destinationFolderId,
SendInvitationsMode sendInvitationsMode) throws Exception {
EwsUtilities.validateParam(destinationFolderId, "destinationFolderId");
this.internalCreate(destinationFolderId, null, sendInvitationsMode);
}
/**
* Saves this appointment in the Calendar folder. Calling this method
* results in at least one call to EWS. Mutliple calls to EWS might be made
* if attachments have been added.
*
* @param sendInvitationsMode
* the send invitations mode
* @throws Exception
* the exception
*/
public void save(SendInvitationsMode sendInvitationsMode) throws Exception {
this.internalCreate(null, null, sendInvitationsMode);
}
/**
* Applies the local changes that have been made to this appointment.
* Calling this method results in at least one call to EWS. Mutliple calls
* to EWS might be made if attachments have been added or removed.
*
* @param conflictResolutionMode
* the conflict resolution mode
* @param sendInvitationsOrCancellationsMode
* the send invitations or cancellations mode
* @throws Exception
* the exception
*/
public void update(
ConflictResolutionMode conflictResolutionMode,
SendInvitationsOrCancellationsMode
sendInvitationsOrCancellationsMode)
throws Exception {
this.internalUpdate(null, conflictResolutionMode, null,
sendInvitationsOrCancellationsMode);
}
/**
* Deletes this appointment. Calling this method results in a call to EWS.
*
* @param deleteMode
* the delete mode
* @param sendCancellationsMode
* the send cancellations mode
* @throws Exception
* the exception
*/
public void delete(DeleteMode deleteMode,
SendCancellationsMode sendCancellationsMode) throws Exception {
this.internalDelete(deleteMode, sendCancellationsMode, null);
}
/**
* Creates a local meeting acceptance message that can be customized and
* sent.
*
* @param tentative
* the tentative
* @return An AcceptMeetingInvitationMessage representing the meeting
* acceptance message.
* @throws Exception
* the exception
*/
public AcceptMeetingInvitationMessage createAcceptMessage(boolean tentative)
throws Exception {
return new AcceptMeetingInvitationMessage(this, tentative);
}
/**
* Creates a local meeting acceptance message that can be customized and
* sent.
*
* @return A CancelMeetingMessage representing the meeting cancellation
* message.
* @throws Exception
* the exception
*/
public CancelMeetingMessage createCancelMeetingMessage() throws Exception {
return new CancelMeetingMessage(this);
}
/**
* Creates a local meeting declination message that can be customized and
* sent.
*
* @return A DeclineMeetingInvitation representing the meeting declination
* message.
* @throws Exception
* the exception
*/
public DeclineMeetingInvitationMessage createDeclineMessage()
throws Exception {
return new DeclineMeetingInvitationMessage(this);
}
/**
* Accepts the meeting. Calling this method results in a call to EWS.
*
* @param sendResponse
* the send response
* @return A CalendarActionResults object containing the various items that
* were created or modified as a results of this operation.
* @throws Exception
* the exception
*/
public CalendarActionResults accept(boolean sendResponse) throws Exception {
return this.internalAccept(false, sendResponse);
}
/**
* Tentatively accepts the meeting. Calling this method results in a call to
* EWS.
*
* @param sendResponse
* the send response
* @return A CalendarActionResults object containing the various items that
* were created or modified as a results of this operation.
* @throws Exception
* the exception
*/
public CalendarActionResults acceptTentatively(boolean sendResponse)
throws Exception {
return this.internalAccept(true, sendResponse);
}
/**
* Accepts the meeting.
*
* @param tentative
* the tentative
* @param sendResponse
* the send response
* @return A CalendarActionResults object containing the various items that
* were created or modified as a results of this operation.
* @throws Exception
* the exception
*/
protected CalendarActionResults internalAccept(boolean tentative,
boolean sendResponse) throws Exception {
AcceptMeetingInvitationMessage accept = this
.createAcceptMessage(tentative);
if (sendResponse) {
return accept.calendarSendAndSaveCopy();
} else {
return accept.calendarSave();
}
}
/**
* Cancels the meeting and sends cancellation messages to all attendees.
* Calling this method results in a call to EWS.
*
* @return A CalendarActionResults object containing the various items that
* were created or modified as a results of this operation.
* @throws Exception
* the exception
*/
public CalendarActionResults cancelMeeting() throws Exception {
return this.createCancelMeetingMessage().calendarSendAndSaveCopy();
}
/**
* Cancels the meeting and sends cancellation messages to all attendees.
* Calling this method results in a call to EWS.
*
* @param cancellationMessageText
* the cancellation message text
* @return A CalendarActionResults object containing the various items that
* were created or modified as a results of this operation.
* @throws Exception
* the exception
*/
public CalendarActionResults cancelMeeting(String cancellationMessageText)
throws Exception {
CancelMeetingMessage cancelMsg = this.createCancelMeetingMessage();
cancelMsg.setBody(new MessageBody(cancellationMessageText));
return cancelMsg.calendarSendAndSaveCopy();
}
/**
* Declines the meeting invitation. Calling this method results in a call to
* EWS.
*
* @param sendResponse
* the send response
* @return A CalendarActionResults object containing the various items that
* were created or modified as a results of this operation.
* @throws Exception
* the exception
*/
public CalendarActionResults decline(boolean
sendResponse) throws Exception {
DeclineMeetingInvitationMessage decline = this.createDeclineMessage();
if (sendResponse) {
return decline.calendarSendAndSaveCopy();
} else {
return decline.calendarSave();
}
}
/**
* Gets the default setting for sending cancellations on Delete.
*
* @return If Delete() is called on Appointment, we want to send
* cancellations and save a copy.
*/
@Override
protected SendCancellationsMode getDefaultSendCancellationsMode() {
return SendCancellationsMode.SendToAllAndSaveCopy;
}
/**
* Gets the default settings for sending invitations on Save.
*
* @return the default send invitations mode
*/
@Override
protected SendInvitationsMode getDefaultSendInvitationsMode() {
return SendInvitationsMode.SendToAllAndSaveCopy;
}
/**
* Gets the default settings for sending invitations on Save.
*
* @return the default send invitations or cancellations mode
*/
@Override
protected SendInvitationsOrCancellationsMode
getDefaultSendInvitationsOrCancellationsMode() {
return SendInvitationsOrCancellationsMode.SendToAllAndSaveCopy;
}
// Properties
/**
* Gets the start time of the appointment.
*
* @return the start
* @throws ServiceLocalException
* the service local exception
*/
public Date getStart() throws ServiceLocalException {
return (Date) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.Start);
}
/**
* Sets the start.
*
* @param value
* the new start
* @throws Exception
* the exception
*/
public void setStart(Date value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.Start, value);
}
/**
* Gets or sets the end time of the appointment.
*
* @return the end
* @throws ServiceLocalException
* the service local exception
*/
public Date getEnd() throws ServiceLocalException {
return (Date) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.End);
}
/**
* Sets the end.
*
* @param value
* the new end
* @throws Exception
* the exception
*/
public void setEnd(Date value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.End, value);
}
/**
* Gets the original start time of this appointment.
*
* @return the original start
* @throws ServiceLocalException
* the service local exception
*/
public Date getOriginalStart() throws ServiceLocalException {
return (Date) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.OriginalStart);
}
/**
* Gets a value indicating whether this appointment is an all day
* event.
*
* @return the checks if is all day event
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getIsAllDayEvent() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.IsAllDayEvent);
}
/**
* Sets the checks if is all day event.
*
* @param value
* the new checks if is all day event
* @throws Exception
* the exception
*/
public void setIsAllDayEvent(Boolean value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.IsAllDayEvent, value);
}
/**
* Gets a value indicating the free/busy status of the owner of this
* appointment.
*
* @return the legacy free busy status
* @throws ServiceLocalException
* the service local exception
*/
public LegacyFreeBusyStatus getLegacyFreeBusyStatus()
throws ServiceLocalException {
return (LegacyFreeBusyStatus) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.LegacyFreeBusyStatus);
}
/**
* Sets the legacy free busy status.
*
* @param value
* the new legacy free busy status
* @throws Exception
* the exception
*/
public void setLegacyFreeBusyStatus(LegacyFreeBusyStatus value)
throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.LegacyFreeBusyStatus, value);
}
/**
* Gets the location of this appointment.
*
* @return the location
* @throws ServiceLocalException
* the service local exception
*/
public String getLocation() throws ServiceLocalException {
return (String) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.Location);
}
/**
* Sets the location.
*
* @param value
* the new location
* @throws Exception
* the exception
*/
public void setLocation(String value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.Location, value);
}
/**
* Gets a text indicating when this appointment occurs. The text returned by
* When is localized using the Exchange Server culture or using the culture
* specified in the PreferredCulture property of the ExchangeService object
* this appointment is bound to.
*
* @return the when
* @throws ServiceLocalException
* the service local exception
*/
public String getWhen() throws ServiceLocalException {
return (String) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.When);
}
/**
* Gets a value indicating whether the appointment is a meeting.
*
* @return the checks if is meeting
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getIsMeeting() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.IsMeeting);
}
/**
* Gets a value indicating whether the appointment has been cancelled.
*
* @return the checks if is cancelled
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getIsCancelled() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.IsCancelled);
}
/**
* Gets a value indicating whether the appointment is recurring.
*
* @return the checks if is recurring
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getIsRecurring() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.IsRecurring);
}
/**
* Gets a value indicating whether the meeting request has already been
* sent.
*
* @return the meeting request was sent
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getMeetingRequestWasSent() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.MeetingRequestWasSent);
}
/**
* Gets a value indicating whether responses are requested when
* invitations are sent for this meeting.
*
* @return the checks if is response requested
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getIsResponseRequested() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.IsResponseRequested);
}
/**
* Sets the checks if is response requested.
*
* @param value
* the new checks if is response requested
* @throws Exception
* the exception
*/
public void setIsResponseRequested(Boolean value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.IsResponseRequested, value);
}
/**
* Gets a value indicating the type of this appointment.
*
* @return the appointment type
* @throws ServiceLocalException
* the service local exception
*/
public AppointmentType getAppointmentType() throws ServiceLocalException {
return (AppointmentType) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.AppointmentType);
}
/**
* Gets a value indicating what was the last response of the user that
* loaded this meeting.
*
* @return the my response type
* @throws ServiceLocalException
* the service local exception
*/
public MeetingResponseType getMyResponseType()
throws ServiceLocalException {
return (MeetingResponseType) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.MyResponseType);
}
/**
* Gets the organizer of this meeting. The Organizer property is read-only
* and is only relevant for attendees. The organizer of a meeting is
* automatically set to the user that created the meeting.
*
* @return the organizer
* @throws ServiceLocalException
* the service local exception
*/
public EmailAddress getOrganizer() throws ServiceLocalException {
return (EmailAddress) this.getPropertyBag()
.getObjectFromPropertyDefinition(AppointmentSchema.Organizer);
}
/**
* Gets a list of required attendees for this meeting.
*
* @return the required attendees
* @throws ServiceLocalException
* the service local exception
*/
public AttendeeCollection getRequiredAttendees( )
throws ServiceLocalException {
return (AttendeeCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.RequiredAttendees);
}
/**
* Gets a list of optional attendeed for this meeting.
*
* @return the optional attendees
* @throws ServiceLocalException
* the service local exception
*/
public AttendeeCollection getOptionalAttendees()
throws ServiceLocalException {
return (AttendeeCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.OptionalAttendees);
}
/**
* Gets a list of resources for this meeting.
*
* @return the resources
* @throws ServiceLocalException
* the service local exception
*/
public AttendeeCollection getResources() throws ServiceLocalException {
return (AttendeeCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(AppointmentSchema.Resources);
}
/**
* Gets the number of calendar entries that conflict with this appointment
* in the authenticated user's calendar.
*
* @return the conflicting meeting count
* @throws ServiceLocalException
* the service local exception
*/
public Integer getConflictingMeetingCount() throws ServiceLocalException {
return (Integer) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.ConflictingMeetingCount);
}
/**
* Gets the number of calendar entries that are adjacent to this appointment
* in the authenticated user's calendar.
*
* @return the adjacent meeting count
* @throws ServiceLocalException
* the service local exception
*/
public Integer getAdjacentMeetingCount() throws ServiceLocalException {
return (Integer) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.AdjacentMeetingCount);
}
/**
* Gets a list of meetings that conflict with this appointment in the
* authenticated user's calendar.
*
* @return the conflicting meetings
* @throws ServiceLocalException
* the service local exception
*/
public ItemCollection getConflictingMeetings()
throws ServiceLocalException {
return (ItemCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.ConflictingMeetings);
}
/**
* Gets a list of meetings that conflict with this appointment in the
* authenticated user's calendar.
*
* @return the adjacent meetings
* @throws ServiceLocalException
* the service local exception
*/
public ItemCollection getAdjacentMeetings()
throws ServiceLocalException {
return (ItemCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.AdjacentMeetings);
}
/**
* Gets the duration of this appointment.
*
* @return the duration
* @throws ServiceLocalException
* the service local exception
*/
public TimeSpan getDuration() throws ServiceLocalException {
return (TimeSpan) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.Duration);
}
/**
* Gets the name of the time zone this appointment is defined in.
*
* @return the time zone
* @throws ServiceLocalException
* the service local exception
*/
public String getTimeZone() throws ServiceLocalException {
return (String) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.TimeZone);
}
/**
* Gets the time when the attendee replied to the meeting request.
*
* @return the appointment reply time
* @throws ServiceLocalException
* the service local exception
*/
public Date getAppointmentReplyTime() throws ServiceLocalException {
return (Date) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.AppointmentReplyTime);
}
/**
* Gets the sequence number of this appointment.
*
* @return the appointment sequence number
* @throws ServiceLocalException
* the service local exception
*/
public Integer getAppointmentSequenceNumber() throws ServiceLocalException {
return (Integer) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.AppointmentSequenceNumber);
}
/**
* Gets the state of this appointment.
*
* @return the appointment state
* @throws ServiceLocalException
* the service local exception
*/
public Integer getAppointmentState() throws ServiceLocalException {
return (Integer) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.AppointmentState);
}
/**
* Gets the recurrence pattern for this appointment. Available
* recurrence pattern classes include Recurrence.DailyPattern,
* Recurrence.MonthlyPattern and Recurrence.YearlyPattern.
*
* @return the recurrence
* @throws ServiceLocalException
* the service local exception
*/
public Recurrence getRecurrence() throws ServiceLocalException {
return (Recurrence) this.getPropertyBag()
.getObjectFromPropertyDefinition(AppointmentSchema.Recurrence);
}
/**
* Sets the recurrence.
*
* @param value
* the new recurrence
* @throws Exception
* the exception
*/
public void setRecurrence(Recurrence value) throws Exception {
if (value != null) {
if (value.isRegenerationPattern()) {
throw new ServiceLocalException(
Strings.RegenerationPatternsOnlyValidForTasks);
}
}
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.Recurrence, value);
}
/**
* Gets an OccurrenceInfo identifying the first occurrence of this meeting.
*
* @return the first occurrence
* @throws ServiceLocalException
* the service local exception
*/
public OccurrenceInfo getFirstOccurrence() throws ServiceLocalException {
return (OccurrenceInfo) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.FirstOccurrence);
}
/**
* Gets an OccurrenceInfo identifying the first occurrence of this meeting.
*
* @return the last occurrence
* @throws ServiceLocalException
* the service local exception
*/
public OccurrenceInfo getLastOccurrence() throws ServiceLocalException {
return (OccurrenceInfo) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.LastOccurrence);
}
/**
* Gets a list of modified occurrences for this meeting.
*
* @return the modified occurrences
* @throws ServiceLocalException
* the service local exception
*/
public OccurrenceInfoCollection getModifiedOccurrences()
throws ServiceLocalException {
return (OccurrenceInfoCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.ModifiedOccurrences);
}
/**
* Gets a list of deleted occurrences for this meeting.
*
* @return the deleted occurrences
* @throws ServiceLocalException
* the service local exception
*/
public DeletedOccurrenceInfoCollection getDeletedOccurrences()
throws ServiceLocalException {
return (DeletedOccurrenceInfoCollection) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.DeletedOccurrences);
}
/**
* Gets the start time zone.
*
* @return the start time zone
* @throws ServiceLocalException
* the service local exception
*/
public TimeZoneDefinition getStartTimeZone() throws ServiceLocalException {
return (TimeZoneDefinition) this.getPropertyBag()
.getObjectFromPropertyDefinition(
AppointmentSchema.StartTimeZone);
}
/**
* Sets the start time zone.
*
* @param value
* the new start time zone
* @throws Exception
* the exception
*/
public void setStartTimeZone(TimeZoneDefinition value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.StartTimeZone, value);
}
/**
* Gets the start time zone.
*
* @return the start time zone
* @throws ServiceLocalException
* the service local exception
*/
public TimeZoneDefinition getEndTimeZone() throws ServiceLocalException {
return (TimeZoneDefinition) this.getPropertyBag()
.getObjectFromPropertyDefinition(AppointmentSchema.EndTimeZone);
}
/**
* Sets the start time zone.
*
* @param value
* the new end time zone
* @throws Exception
* the exception
*/
public void setEndTimeZone(TimeZoneDefinition value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.EndTimeZone, value);
}
/**
* Gets the type of conferencing that will be used during the
* meeting.
*
* @return the conference type
* @throws ServiceLocalException
* the service local exception
*/
public Integer getConferenceType() throws ServiceLocalException {
return (Integer) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.ConferenceType);
}
/**
* Sets the conference type.
*
* @param value
* the new conference type
* @throws Exception
* the exception
*/
public void setConferenceType(Integer value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.ConferenceType, value);
}
/**
* Gets a value indicating whether new time proposals are allowed
* for attendees of this meeting.
*
* @return the allow new time proposal
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getAllowNewTimeProposal() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.AllowNewTimeProposal);
}
/**
* Sets the allow new time proposal.
*
* @param value
* the new allow new time proposal
* @throws Exception
* the exception
*/
public void setAllowNewTimeProposal(Boolean value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.AllowNewTimeProposal, value);
}
/**
* Gets a value indicating whether this is an online meeting.
*
* @return the checks if is online meeting
* @throws ServiceLocalException
* the service local exception
*/
public Boolean getIsOnlineMeeting() throws ServiceLocalException {
return (Boolean) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.IsOnlineMeeting);
}
/**
* Sets the checks if is online meeting.
*
* @param value
* the new checks if is online meeting
* @throws Exception
* the exception
*/
public void setIsOnlineMeeting(Boolean value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.IsOnlineMeeting, value);
}
/**
* Gets the URL of the meeting workspace. A meeting workspace is a
* shared Web site for planning meetings and tracking results.
*
* @return the meeting workspace url
* @throws ServiceLocalException
* the service local exception
*/
public String getMeetingWorkspaceUrl() throws ServiceLocalException {
return (String) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.MeetingWorkspaceUrl);
}
/**
* Sets the meeting workspace url.
*
* @param value
* the new meeting workspace url
* @throws Exception
* the exception
*/
public void setMeetingWorkspaceUrl(String value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.MeetingWorkspaceUrl, value);
}
/**
* Gets the URL of the Microsoft NetShow online meeting.
*
* @return the net show url
* @throws ServiceLocalException
* the service local exception
*/
public String getNetShowUrl() throws ServiceLocalException {
return (String) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.NetShowUrl);
}
/**
* Sets the net show url.
*
* @param value
* the new net show url
* @throws Exception
* the exception
*/
public void setNetShowUrl(String value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.NetShowUrl, value);
}
/**
* Gets the ICalendar Uid.
*
* @return the i cal uid
* @throws ServiceLocalException
* the service local exception
*/
public String getICalUid() throws ServiceLocalException {
return (String) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.ICalUid);
}
/**
* Sets the ICalendar Uid.
*
* @param value the i cal uid
* @throws Exception
*///this.PropertyBag[AppointmentSchema.ICalUid] = value;
public void setICalUid(String value) throws Exception {
this.getPropertyBag().setObjectFromPropertyDefinition(
AppointmentSchema.ICalUid, value);
}
/**
* Gets the ICalendar RecurrenceId.
*
* @return the i cal recurrence id
* @throws ServiceLocalException
* the service local exception
*/
public Date getICalRecurrenceId() throws ServiceLocalException {
return (Date) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.ICalRecurrenceId);
}
/**
* Gets the ICalendar DateTimeStamp.
*
* @return the i cal date time stamp
* @throws ServiceLocalException
* the service local exception
*/
public Date gaetICalDateTimeStmp() throws ServiceLocalException {
return (Date) this.getPropertyBag().getObjectFromPropertyDefinition(
AppointmentSchema.ICalDateTimeStamp);
}
}