microsoft.exchange.webservices.data
Class ExchangeService

java.lang.Object
  extended by microsoft.exchange.webservices.data.ExchangeServiceBase
      extended by microsoft.exchange.webservices.data.ExchangeService
All Implemented Interfaces:
IAutodiscoverRedirectionUrl

public final class ExchangeService
extends ExchangeServiceBase
implements IAutodiscoverRedirectionUrl

Represents a binding to the Exchange Web Services.


Constructor Summary
ExchangeService()
          Initializes a new instance of the class, targeting the specified version of EWS and scoped to the to the system's current time zone.
ExchangeService(ExchangeVersion requestedServerVersion)
          * Initializes a new instance of the class, targeting the specified version of EWS and scoped to the system's current time zone.
ExchangeService(ExchangeVersion requestedServerVersion, java.util.TimeZone timeZone)
          Initializes a new instance of the class, targeting the specified version of EWS and scoped to the to the specified time zone.
 
Method Summary
 java.util.Collection<DelegateUserResponse> addDelegates(Mailbox mailbox, MeetingRequestsDeliveryScope meetingRequestsDeliveryScope, DelegateUser... delegateUsers)
          * Adds delegates to a specific mailbox.
 java.util.Collection<DelegateUserResponse> addDelegates(Mailbox mailbox, MeetingRequestsDeliveryScope meetingRequestsDeliveryScope, java.lang.Iterable<DelegateUser> delegateUsers)
          * Adds delegates to a specific mailbox.
 boolean autodiscoverRedirectionUrlValidationCallback(java.lang.String redirectionUrl)
          Autodiscover redirection url validation callback.
 void autodiscoverUrl(java.lang.String emailAddress)
          Initializes the Url property to the Exchange Web Services URL for the specified e-mail address by calling the Autodiscover service.
 void autodiscoverUrl(java.lang.String emailAddress, IAutodiscoverRedirectionUrl validateRedirectionUrlCallback)
          Initializes the Url property to the Exchange Web Services URL for the specified e-mail address by calling the Autodiscover service.
protected  IAsyncResult beginGetEvents(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, java.lang.String subscriptionId, java.lang.String watermark)
          Begins an asynchronous request to retrieve the latest events associated with a pull subscription.
 AsyncRequestResult beginSubscribeToPullNotifications(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, java.lang.Iterable<FolderId> folderIds, int timeout, java.lang.String watermark, EventType... eventTypes)
          Begins an asynchronous request to subscribes to pull notifications.
 IAsyncResult beginSubscribeToPullNotificationsOnAllFolders(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, int timeout, java.lang.String watermark, EventType... eventTypes)
          Begins an asynchronous request to subscribe to pull notifications on all folders in the authenticated user's mailbox.
 IAsyncResult beginSubscribeToPushNotifications(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, java.lang.Iterable<FolderId> folderIds, java.net.URI url, int frequency, java.lang.String watermark, EventType... eventTypes)
          Begins an asynchronous request to subscribe to push notifications.
 IAsyncResult beginSubscribeToPushNotificationsOnAllFolders(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, java.net.URI url, int frequency, java.lang.String watermark, EventType... eventTypes)
          Begins an asynchronous request to subscribe to push notifications on all folders in the authenticated user's mailbox.
 IAsyncResult beginSubscribeToStreamingNotifications(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, java.lang.Iterable<FolderId> folderIds, EventType... eventTypes)
          Begins an asynchronous request to subscribe to streaming notifications.
 IAsyncResult beginSubscribeToStreamingNotificationsOnAllFolders(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, EventType... eventTypes)
          Begins an asynchronous request to subscribe to streaming notifications on all folders in the authenticated user's mailbox.
 IAsyncResult beginSyncFolderHierarchy(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, FolderId syncFolderId, PropertySet propertySet, java.lang.String syncState)
          Begins an asynchronous request to synchronize the sub-folders of a specific folder.
 IAsyncResult beginSyncFolderItems(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, FolderId syncFolderId, PropertySet propertySet, java.lang.Iterable<ItemId> ignoredItemIds, int maxChangesReturned, SyncFolderItemsScope syncScope, java.lang.String syncState)
          Begins an asynchronous request to synchronize the items of a specific folder.
protected  IAsyncResult beginUnsubscribe(microsoft.exchange.webservices.data.AsyncCallback callback, java.lang.Object state, java.lang.String subscriptionId)
          Begins an asynchronous request to unsubscribe from a subscription.
protected
<TFolder extends Folder>
TFolder
bindToFolder(java.lang.Class<TFolder> cls, FolderId folderId, PropertySet propertySet)
          Binds to folder.
protected  Folder bindToFolder(FolderId folderId, PropertySet propertySet)
          Binds to a folder.
protected
<TItem extends Item>
TItem
bindToItem(java.lang.Class<TItem> c, ItemId itemId, PropertySet propertySet)
          Bind to item.
protected  Item bindToItem(ItemId itemId, PropertySet propertySet)
          * Binds to multiple items in a single call to EWS.
 ServiceResponseCollection<GetItemResponse> bindToItems(java.lang.Iterable<ItemId> itemIds, PropertySet propertySet)
          * Binds to multiple items in a single call to EWS.
 AlternateIdBase convertId(AlternateIdBase id, IdFormat destinationFormat)
          * Converts Id from one format to another in a single call to EWS.
 ServiceResponseCollection<ConvertIdResponse> convertIds(java.lang.Iterable<AlternateIdBase> ids, IdFormat destinationFormat)
          * Converts multiple Ids from one format to another in a single call to EWS.
protected  Folder copyFolder(FolderId folderId, FolderId destinationFolderId)
          Copies a folder.
protected  Item copyItem(ItemId itemId, FolderId destinationFolderId)
          Copies an item.
 ServiceResponseCollection<MoveCopyItemResponse> copyItems(java.lang.Iterable<ItemId> itemIds, FolderId destinationFolderId)
          * Copies multiple items in a single call to EWS.
 ServiceResponseCollection<MoveCopyItemResponse> copyItems(java.lang.Iterable<ItemId> itemIds, FolderId destinationFolderId, boolean returnNewItemIds)
          Copies multiple items in a single call to EWS.
 ServiceResponseCollection<ServiceResponse> copyItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs, FolderId contextFolderId, FolderId destinationFolderId)
          Copies the items in the specified conversation to the specified destination folder.
protected  ServiceResponseCollection<CreateAttachmentResponse> createAttachments(java.lang.String parentItemId, java.lang.Iterable<Attachment> attachments)
          * Creates attachments.
protected  void createFolder(Folder folder, FolderId parentFolderId)
          Creates a folder.
protected  void createItem(Item item, FolderId parentFolderId, MessageDisposition messageDisposition, SendInvitationsMode sendInvitationsMode)
          * Creates an item.
 ServiceResponseCollection<ServiceResponse> createItems(java.util.Collection<Item> items, FolderId parentFolderId, MessageDisposition messageDisposition, SendInvitationsMode sendInvitationsMode)
          * Creates multiple items in a single EWS call.
protected  void createUserConfiguration(UserConfiguration userConfiguration)
          Creates the user configuration.
protected  ServiceResponseCollection<DeleteAttachmentResponse> deleteAttachments(java.lang.Iterable<Attachment> attachments)
          * Deletes attachments.
protected  void deleteFolder(FolderId folderId, DeleteMode deleteMode)
          Deletes a folder.
protected  void deleteItem(ItemId itemId, DeleteMode deleteMode, SendCancellationsMode sendCancellationsMode, AffectedTaskOccurrence affectedTaskOccurrences)
          Deletes an item.
 ServiceResponseCollection<ServiceResponse> deleteItems(java.lang.Iterable<ItemId> itemIds, DeleteMode deleteMode, SendCancellationsMode sendCancellationsMode, AffectedTaskOccurrence affectedTaskOccurrences)
          Deletes multiple items in a single call to EWS.
 ServiceResponseCollection<ServiceResponse> deleteItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs, FolderId contextFolderId, DeleteMode deleteMode)
          Deletes the items in the specified conversation.
protected  void deleteUserConfiguration(java.lang.String name, FolderId parentFolderId)
          * Creates a UserConfiguration.
 ServiceResponseCollection<ServiceResponse> disableAlwaysCategorizeItemsInConversations(java.lang.Iterable<ConversationId> conversationId, boolean processSynchronously)
          Sets up a conversation so that any item received within that conversation is no longer categorized.
 ServiceResponseCollection<ServiceResponse> disableAlwaysDeleteItemsInConversations(java.lang.Iterable<ConversationId> conversationId, boolean processSynchronously)
          Sets up a conversation so that any item received within that conversation is no longer moved to Deleted Items folder.
 ServiceResponseCollection<ServiceResponse> disableAlwaysMoveItemsInConversations(java.lang.Iterable<ConversationId> conversationIds, boolean processSynchronously)
          Sets up a conversation so that any item received within that conversation is no longer moved to a specific folder.
protected  void emptyFolder(FolderId folderId, DeleteMode deleteMode, boolean deleteSubFolders)
          Empties a folder.
 ServiceResponseCollection<ServiceResponse> enableAlwaysCategorizeItemsInConversations(java.lang.Iterable<ConversationId> conversationId, java.lang.Iterable<java.lang.String> categories, boolean processSynchronously)
          Sets up a conversation so that any item received within that conversation is always categorized.
 ServiceResponseCollection<ServiceResponse> enableAlwaysDeleteItemsInConversations(java.lang.Iterable<ConversationId> conversationId, boolean processSynchronously)
          Sets up a conversation so that any item received within that conversation is always moved to Deleted Items folder.
 ServiceResponseCollection<ServiceResponse> enableAlwaysMoveItemsInConversations(java.lang.Iterable<ConversationId> conversationId, FolderId destinationFolderId, boolean processSynchronously)
          Sets up a conversation so that any item received within that conversation is always moved to a specific folder.
protected  GetEventsResults endGetEvents(IAsyncResult asyncResult)
          Ends an asynchronous request to retrieve the latest events associated with a pull subscription.
 PullSubscription endSubscribeToPullNotifications(IAsyncResult asyncResult)
          Ends an asynchronous request to subscribe to pull notifications in the authenticated user's mailbox.
 PushSubscription endSubscribeToPushNotifications(IAsyncResult asyncResult)
          Ends an asynchronous request to subscribe to push notifications in the authenticated user's mailbox.
 StreamingSubscription endSubscribeToStreamingNotifications(IAsyncResult asyncResult)
          Ends an asynchronous request to subscribe to push notifications in the authenticated user's mailbox.
 ChangeCollection<FolderChange> endSyncFolderHierarchy(IAsyncResult asyncResult)
          Ends an asynchronous request to synchronize the specified folder hierarchy of the mailbox this Service is connected to.
 ChangeCollection<ItemChange> endSyncFolderItems(IAsyncResult asyncResult)
          Ends an asynchronous request to synchronize the items of a specific folder.
protected  void endUnsubscribe(IAsyncResult asyncResult)
          Ends an asynchronous request to unsubscribe from a subscription.
protected  org.w3c.dom.Document executeDiagnosticMethod(java.lang.String verb, org.w3c.dom.Node parameter)
          Executes the diagnostic method.
 ExpandGroupResults expandGroup(EmailAddress emailAddress)
          * Expands a group by retrieving a list of its members.
 ExpandGroupResults expandGroup(ItemId groupId)
          * Expands a group by retrieving a list of its members.
 ExpandGroupResults expandGroup(java.lang.String smtpAddress)
          * Expands a group by retrieving a list of its members.
 ExpandGroupResults expandGroup(java.lang.String address, java.lang.String routingType)
          * Expands a group by retrieving a list of its members.
 FindItemsResults<Appointment> findAppointments(FolderId parentFolderId, CalendarView calendarView)
          * Obtains a list of appointments by searching the contents of a specific folder.
 FindItemsResults<Appointment> findAppointments(WellKnownFolderName parentFolderName, CalendarView calendarView)
          * Obtains a list of appointments by searching the contents of a specific folder.
 java.util.Collection<Conversation> findConversation(ConversationIndexedItemView view, FolderId folderId)
          Retrieves a collection of all Conversations in the specified Folder.
 FindFoldersResults findFolders(FolderId parentFolderId, FolderView view)
          Obtains a list of folders by searching the sub-folders of the specified folder.
 FindFoldersResults findFolders(FolderId parentFolderId, SearchFilter searchFilter, FolderView view)
          Obtains a list of folders by searching the sub-folders of the specified folder.
 FindFoldersResults findFolders(WellKnownFolderName parentFolderName, FolderView view)
          * Obtains a list of folders by searching the sub-folders of the specified folder.
 FindFoldersResults findFolders(WellKnownFolderName parentFolderName, SearchFilter searchFilter, FolderView view)
          Obtains a list of folders by searching the sub-folders of the specified folder.
protected
<TItem extends Item>
ServiceResponseCollection<FindItemResponse<TItem>>
findItems(java.lang.Class<TItem> cls, FolderId parentFolderId, SearchFilter searchFilter, ViewBase view, Grouping groupBy)
          Obtains a grouped list of items by searching the contents of a specific folder.
 FindItemsResults<Item> findItems(FolderId parentFolderId, ItemView view)
          Obtains a list of items by searching the contents of a specific folder.
 GroupedFindItemsResults<Item> findItems(FolderId parentFolderId, ItemView view, Grouping groupBy)
          Obtains a grouped list of items by searching the contents of a specific folder.
 FindItemsResults<Item> findItems(FolderId parentFolderId, SearchFilter searchFilter, ItemView view)
          Obtains a list of items by searching the contents of a specific folder.
 GroupedFindItemsResults<Item> findItems(FolderId parentFolderId, SearchFilter searchFilter, ItemView view, Grouping groupBy)
          Obtains a grouped list of items by searching the contents of a specific folder.
 FindItemsResults<Item> findItems(FolderId parentFolderId, java.lang.String queryString, ItemView view)
          Obtains a list of items by searching the contents of a specific folder.
 GroupedFindItemsResults<Item> findItems(FolderId parentFolderId, java.lang.String queryString, ItemView view, Grouping groupBy)
          Obtains a grouped list of items by searching the contents of a specific folder.
protected
<TItem extends Item>
ServiceResponseCollection<FindItemResponse<TItem>>
findItems(java.lang.Iterable<FolderId> parentFolderIds, SearchFilter searchFilter, java.lang.String queryString, ViewBase view, Grouping groupBy, microsoft.exchange.webservices.data.ServiceErrorHandling errorHandlingMode)
          Finds items.
 FindItemsResults<Item> findItems(WellKnownFolderName parentFolderName, ItemView view)
          Obtains a list of items by searching the contents of a specific folder.
 FindItemsResults<Item> findItems(WellKnownFolderName parentFolderName, SearchFilter searchFilter, ItemView view)
          Obtains a list of items by searching the contents of a specific folder.
 GroupedFindItemsResults<Item> findItems(WellKnownFolderName parentFolderName, SearchFilter searchFilter, ItemView view, Grouping groupBy)
          Obtains a grouped list of items by searching the contents of a specific folder.
 FindItemsResults<Item> findItems(WellKnownFolderName parentFolderName, java.lang.String queryString, ItemView view)
          Obtains a list of items by searching the contents of a specific folder.
 GroupedFindItemsResults<Item> findItems(WellKnownFolderName parentFolderName, java.lang.String queryString, ItemView view, Grouping groupBy)
          Obtains a grouped list of items by searching the contents of a specific folder.
protected  void getAttachment(Attachment attachment, BodyType bodyType, java.lang.Iterable<PropertyDefinitionBase> additionalProperties)
          Gets the attachment.
protected  ServiceResponseCollection<microsoft.exchange.webservices.data.GetAttachmentResponse> getAttachments(Attachment[] attachments, BodyType bodyType, java.lang.Iterable<PropertyDefinitionBase> additionalProperties)
          Gets attachments.
 DateTimePrecision getDateTimePrecision()
          Gets the DateTime precision for DateTime values returned from Exchange Web Services.
 DelegateInformation getDelegates(Mailbox mailbox, boolean includePermissions, java.lang.Iterable<UserId> userIds)
          * Retrieves the delegates of a specific mailbox.
 DelegateInformation getDelegates(Mailbox mailbox, boolean includePermissions, UserId... userIds)
          * Retrieves the delegates of a specific mailbox.
 boolean getEnableScpLookup()
          Gets or sets a value indicating whether the AutodiscoverUrl method should perform SCP (Service Connection Point) record lookup when determining the Autodiscover service URL.
protected  GetEventsResults getEvents(java.lang.String subscriptionId, java.lang.String waterMark)
          * Retrieves the latests events associated with a pull subscription.
protected  boolean getExchange2007CompatibilityMode()
          Gets or sets a value indicating whether Exchange2007 compatibility mode is enabled.
 IFileAttachmentContentHandler getFileAttachmentContentHandler()
          Gets the file attachment content handler.
 ImpersonatedUserId getImpersonatedUserId()
          Gets the impersonated user id.
 RuleCollection getInboxRules()
          Retrieves inbox rules of the authenticated user.
 RuleCollection getInboxRules(java.lang.String mailboxSmtpAddress)
          Retrieves the inbox rules of the specified user.
 java.util.Date getPasswordExpirationDate(java.lang.String mailboxSmtpAddress)
          Get the password expiration date
 java.util.Locale getPreferredCulture()
          Gets the preferred culture.
 EmailAddressCollection getRoomLists()
          * Retrieves a collection of all room lists in the organization.
 java.util.Collection<EmailAddress> getRooms(EmailAddress emailAddress)
          * Retrieves a collection of all room lists in the specified room list in the organization.
 java.util.Collection<TimeZoneDefinition> getServerTimeZones()
          Retrieves the definitions of all server-side time zones.
 java.util.Collection<TimeZoneDefinition> getServerTimeZones(java.lang.Iterable<java.lang.String> timeZoneIds)
          * Retrieves the definitions of the specified server-side time zones.
 UnifiedMessaging getUnifiedMessaging()
          * Provides access to the Unified Messaging functionalities.
 java.net.URI getUrl()
          Gets the URL of the Exchange Web Services.
 GetUserAvailabilityResults getUserAvailability(java.lang.Iterable<AttendeeInfo> attendees, TimeWindow timeWindow, AvailabilityData requestedData)
          * Gets detailed information about the availability of a set of users, rooms, and resources within a specified time window.
 GetUserAvailabilityResults getUserAvailability(java.lang.Iterable<AttendeeInfo> attendees, TimeWindow timeWindow, AvailabilityData requestedData, AvailabilityOptions options)
          * Gets detailed information about the availability of a set of users, rooms, and resources within a specified time window.
protected  UserConfiguration getUserConfiguration(java.lang.String name, FolderId parentFolderId, UserConfigurationProperties properties)
          * Creates a UserConfiguration.
 OofSettings getUserOofSettings(java.lang.String smtpAddress)
          * Gets Out of Office (OOF) settings for a specific user.
protected  java.util.List<Item> internalCreateResponseObject(ServiceObject responseObject, FolderId parentFolderId, MessageDisposition messageDisposition)
          Create response object.
protected  void loadPropertiesForFolder(Folder folder, PropertySet propertySet)
          Load specified properties for a folder.
 ServiceResponseCollection<ServiceResponse> loadPropertiesForItems(java.lang.Iterable<Item> items, PropertySet propertySet)
          * Loads the properties of multiple items in a single call to EWS.
protected  void loadPropertiesForUserConfiguration(UserConfiguration userConfiguration, UserConfigurationProperties properties)
          * Loads the properties of the specified userConfiguration.
protected  Folder moveFolder(FolderId folderId, FolderId destinationFolderId)
          Move a folder.
protected  Item moveItem(ItemId itemId, FolderId destinationFolderId)
          Copies multiple items in a single call to EWS.
 ServiceResponseCollection<MoveCopyItemResponse> moveItems(java.lang.Iterable<ItemId> itemIds, FolderId destinationFolderId)
          * Moves multiple items in a single call to EWS.
 ServiceResponseCollection<MoveCopyItemResponse> moveItems(java.lang.Iterable<ItemId> itemIds, FolderId destinationFolderId, boolean returnNewItemIds)
          Moves multiple items in a single call to EWS.
 ServiceResponseCollection<ServiceResponse> moveItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs, FolderId contextFolderId, FolderId destinationFolderId)
          Moves the items in the specified conversation to the specified destination folder.
protected  microsoft.exchange.webservices.data.HttpWebRequest prepareHttpWebRequest()
          Prepare http web request.
protected  void processHttpErrorResponse(microsoft.exchange.webservices.data.HttpWebRequest httpWebResponse, java.lang.Exception webException)
          Processes an HTTP error response.
 java.util.Collection<DelegateUserResponse> removeDelegates(Mailbox mailbox, java.lang.Iterable<UserId> userIds)
          * Removes delegates on a specific mailbox.
 java.util.Collection<DelegateUserResponse> removeDelegates(Mailbox mailbox, UserId... userIds)
          * Removes delegates on a specific mailbox.
 NameResolutionCollection resolveName(java.lang.String nameToResolve)
          * Finds contacts in the user's Contacts folder and the Global Address List (in that order) that have names that match the one passed as a parameter.
 NameResolutionCollection resolveName(java.lang.String nameToResolve, java.lang.Iterable<FolderId> parentFolderIds, ResolveNameSearchLocation searchScope, boolean returnContactDetails)
          * Finds contacts in the user's Contacts folder and the Global Address List (in that order) that have names that match the one passed as a parameter.
 NameResolutionCollection resolveName(java.lang.String nameToResolve, java.lang.Iterable<FolderId> parentFolderIds, ResolveNameSearchLocation searchScope, boolean returnContactDetails, PropertySet contactDataPropertySet)
          Finds contacts in the Global Address List and/or in specific contact folders that have names that match the one passed as a parameter.
 NameResolutionCollection resolveName(java.lang.String nameToResolve, ResolveNameSearchLocation searchScope, boolean returnContactDetails)
          * Finds contacts in the user's Contacts folder and the Global Address List (in that order) that have names that match the one passed as a parameter.
 NameResolutionCollection resolveName(java.lang.String nameToResolve, ResolveNameSearchLocation searchScope, boolean returnContactDetails, PropertySet contactDataPropertySet)
          Finds contacts in the Global Address List that have names that match the one passed as a parameter.
protected  void sendItem(Item item, FolderId savedCopyDestinationFolderId)
          Send item.
 void setDateTimePrecision(DateTimePrecision d)
          Sets the DateTime precision for DateTime values Web Services.
 void setEnableScpLookup(boolean value)
           
protected  void setExchange2007CompatibilityMode(boolean value)
           
 void setFileAttachmentContentHandler(IFileAttachmentContentHandler fileAttachmentContentHandler)
          Sets the file attachment content handler.
 void setImpersonatedUserId(ImpersonatedUserId impersonatedUserId)
          Sets the impersonated user id.
 void setPreferredCulture(DateTimePrecision dateTimePrecision)
          Sets the DateTime precision for DateTime values returned from Exchange Web Services.
 void setPreferredCulture(java.util.Locale preferredCulture)
          Sets the preferred culture.
 ServiceResponseCollection<ServiceResponse> setReadStateForItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs, FolderId contextFolderId, boolean isRead)
          Sets the read state for items in conversation.
 void setUrl(java.net.URI url)
          Sets the URL of the Exchange Web Services.
 void setUserOofSettings(java.lang.String smtpAddress, OofSettings oofSettings)
          * Sets Out of Office (OOF) settings for a specific user.
 PullSubscription subscribeToPullNotifications(java.lang.Iterable<FolderId> folderIds, int timeout, java.lang.String watermark, EventType... eventTypes)
          Subscribes to pull notifications.
 PullSubscription subscribeToPullNotificationsOnAllFolders(int timeout, java.lang.String watermark, EventType... eventTypes)
          * Subscribes to pull notifications on all folders in the authenticated user's mailbox.
 PushSubscription subscribeToPushNotifications(java.lang.Iterable<FolderId> folderIds, java.net.URI url, int frequency, java.lang.String watermark, EventType... eventTypes)
          * Subscribes to push notifications.
 PushSubscription subscribeToPushNotificationsOnAllFolders(java.net.URI url, int frequency, java.lang.String watermark, EventType... eventTypes)
          * Subscribes to push notifications on all folders in the authenticated user's mailbox.
 StreamingSubscription subscribeToStreamingNotifications(java.lang.Iterable<FolderId> folderIds, EventType... eventTypes)
          Subscribes to streaming notifications.
 StreamingSubscription subscribeToStreamingNotificationsOnAllFolders(EventType... eventTypes)
          Subscribes to streaming notifications on all folders in the authenticated user's mailbox.
 ChangeCollection<FolderChange> syncFolderHierarchy(FolderId syncFolderId, PropertySet propertySet, java.lang.String syncState)
          * Synchronizes the sub-folders of a specific folder.
 ChangeCollection<FolderChange> syncFolderHierarchy(PropertySet propertySet, java.lang.String syncState)
          Synchronizes the entire folder hierarchy of the mailbox this Service is connected to.
 ChangeCollection<ItemChange> syncFolderItems(FolderId syncFolderId, PropertySet propertySet, java.lang.Iterable<ItemId> ignoredItemIds, int maxChangesReturned, SyncFolderItemsScope syncScope, java.lang.String syncState)
          * Synchronizes the items of a specific folder.
protected  void unsubscribe(java.lang.String subscriptionId)
          Unsubscribes from a pull subscription.
 java.util.Collection<DelegateUserResponse> updateDelegates(Mailbox mailbox, MeetingRequestsDeliveryScope meetingRequestsDeliveryScope, DelegateUser... delegateUsers)
          * Updates delegates on a specific mailbox.
 java.util.Collection<DelegateUserResponse> updateDelegates(Mailbox mailbox, MeetingRequestsDeliveryScope meetingRequestsDeliveryScope, java.lang.Iterable<DelegateUser> delegateUsers)
          * Updates delegates on a specific mailbox.
protected  void updateFolder(Folder folder)
          Updates a folder.
 void updateInboxRules(java.lang.Iterable<RuleOperation> operations, boolean removeOutlookRuleBlob)
          Updates the authenticated user's inbox rules by applying the specified operations.
 void updateInboxRules(java.lang.Iterable<RuleOperation> operations, boolean removeOutlookRuleBlob, java.lang.String mailboxSmtpAddress)
          Updates the authenticated user's inbox rules by applying the specified operations.
protected  Item updateItem(Item item, FolderId savedItemsDestinationFolderId, ConflictResolutionMode conflictResolution, MessageDisposition messageDisposition, SendInvitationsOrCancellationsMode sendInvitationsOrCancellationsMode)
          Updates an item.
 ServiceResponseCollection<UpdateItemResponse> updateItems(java.lang.Iterable<Item> items, FolderId savedItemsDestinationFolderId, ConflictResolutionMode conflictResolution, MessageDisposition messageDisposition, SendInvitationsOrCancellationsMode sendInvitationsOrCancellationsMode)
          * Updates multiple items in a single EWS call.
protected  void updateUserConfiguration(UserConfiguration userConfiguration)
          * Updates a UserConfiguration.
protected  void validate()
          * Validates this instance.
 
Methods inherited from class microsoft.exchange.webservices.data.ExchangeServiceBase
checkURIPath, convertDateTimeToUniversalDateTimeString, convertStartDateToUnspecifiedDateTime, convertUniversalDateTimeStringToDate, doOnSerializeCustomSoapHeaders, getAcceptGzipEncoding, getCookie, getCredentials, getHttpHeaders, getHttpResponseHeaders, getOnSerializeCustomSoapHeaders, getRequestedServerVersion, getServerInfo, getSessionKey, getSimpleHttpConnectionManager, getTimeout, getTraceFlags, getTraceListener, getUseDefaultCredentials, getUserAgent, getWebProxy, internalProcessHttpErrorResponse, isPreAuthenticate, isTraceEnabled, isTraceEnabledFor, prepareHttpWebRequestForUrl, processHttpResponseHeaders, setAcceptGzipEncoding, setCookie, setCredentials, setCustomUserAgent, setOnSerializeCustomSoapHeaders, setPreAuthenticate, setTimeout, setTraceEnabled, setTraceFlags, setTraceListener, setUseDefaultCredentials, setUserAgent, setWebProxy, traceHttpRequestHeaders, traceMessage, traceXml
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExchangeService

public ExchangeService()
Initializes a new instance of the class, targeting the specified version of EWS and scoped to the to the system's current time zone.


ExchangeService

public ExchangeService(ExchangeVersion requestedServerVersion)
* Initializes a new instance of the class, targeting the specified version of EWS and scoped to the system's current time zone.

Parameters:
requestedServerVersion - the requested server version

ExchangeService

public ExchangeService(ExchangeVersion requestedServerVersion,
                       java.util.TimeZone timeZone)
Initializes a new instance of the class, targeting the specified version of EWS and scoped to the to the specified time zone.

Parameters:
requestedServerVersion - The version of EWS that the service targets.
timeZone - The time zone to which the service is scoped.
Method Detail

internalCreateResponseObject

protected java.util.List<Item> internalCreateResponseObject(ServiceObject responseObject,
                                                            FolderId parentFolderId,
                                                            MessageDisposition messageDisposition)
                                                     throws java.lang.Exception
Create response object.

Parameters:
responseObject - the response object
parentFolderId - the parent folder id
messageDisposition - the message disposition
Returns:
The list of items created or modified as a result of the "creation" of the response object.
Throws:
java.lang.Exception - the exception

createFolder

protected void createFolder(Folder folder,
                            FolderId parentFolderId)
                     throws java.lang.Exception
Creates a folder. Calling this method results in a call to EWS.

Parameters:
folder - The folder.
parentFolderId - The parent folder Id
Throws:
java.lang.Exception - the exception

updateFolder

protected void updateFolder(Folder folder)
                     throws java.lang.Exception
Updates a folder.

Parameters:
folder - The folder.
Throws:
java.lang.Exception - the exception

copyFolder

protected Folder copyFolder(FolderId folderId,
                            FolderId destinationFolderId)
                     throws java.lang.Exception
Copies a folder. Calling this method results in a call to EWS.

Parameters:
folderId - The folderId.
destinationFolderId - The destination folder id.
Returns:
the folder
Throws:
java.lang.Exception - the exception

moveFolder

protected Folder moveFolder(FolderId folderId,
                            FolderId destinationFolderId)
                     throws java.lang.Exception
Move a folder.

Parameters:
folderId - The folderId.
destinationFolderId - The destination folder id.
Returns:
the folder
Throws:
java.lang.Exception - the exception

findFolders

public FindFoldersResults findFolders(FolderId parentFolderId,
                                      SearchFilter searchFilter,
                                      FolderView view)
                               throws java.lang.Exception
Obtains a list of folders by searching the sub-folders of the specified folder.

Parameters:
parentFolderId - The Id of the folder in which to search for folders.
searchFilter - The search filter. Available search filter classes include SearchFilter.IsEqualTo, SearchFilter.ContainsSubstring and SearchFilter.SearchFilterCollection
view - The view controlling the number of folders returned.
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findFolders

public FindFoldersResults findFolders(FolderId parentFolderId,
                                      FolderView view)
                               throws java.lang.Exception
Obtains a list of folders by searching the sub-folders of the specified folder.

Parameters:
parentFolderId - The Id of the folder in which to search for folders.
view - The view controlling the number of folders returned.
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findFolders

public FindFoldersResults findFolders(WellKnownFolderName parentFolderName,
                                      SearchFilter searchFilter,
                                      FolderView view)
                               throws java.lang.Exception
Obtains a list of folders by searching the sub-folders of the specified folder.

Parameters:
parentFolderName - The name of the folder in which to search for folders.
searchFilter - The search filter. Available search filter classes include SearchFilter.IsEqualTo, SearchFilter.ContainsSubstring and SearchFilter.SearchFilterCollection
view - The view controlling the number of folders returned.
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findFolders

public FindFoldersResults findFolders(WellKnownFolderName parentFolderName,
                                      FolderView view)
                               throws java.lang.Exception
* Obtains a list of folders by searching the sub-folders of the specified folder.

Parameters:
parentFolderName - the parent folder name
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

loadPropertiesForFolder

protected void loadPropertiesForFolder(Folder folder,
                                       PropertySet propertySet)
                                throws java.lang.Exception
Load specified properties for a folder.

Parameters:
folder - The folder
propertySet - The property set
Throws:
java.lang.Exception - the exception

bindToFolder

protected Folder bindToFolder(FolderId folderId,
                              PropertySet propertySet)
                       throws java.lang.Exception
Binds to a folder.

Parameters:
folderId - the folder id
propertySet - the property set
Returns:
Folder
Throws:
java.lang.Exception - the exception

bindToFolder

protected <TFolder extends Folder> TFolder bindToFolder(java.lang.Class<TFolder> cls,
                                                        FolderId folderId,
                                                        PropertySet propertySet)
                                       throws java.lang.Exception
Binds to folder.

Type Parameters:
TFolder - The type of the folder.
Parameters:
cls - Folder class
folderId - The folder id.
propertySet - The property set.
Returns:
Folder
Throws:
java.lang.Exception - the exception

deleteFolder

protected void deleteFolder(FolderId folderId,
                            DeleteMode deleteMode)
                     throws java.lang.Exception
Deletes a folder. Calling this method results in a call to EWS.

Parameters:
folderId - The folder id
deleteMode - The delete mode
Throws:
java.lang.Exception - the exception

emptyFolder

protected void emptyFolder(FolderId folderId,
                           DeleteMode deleteMode,
                           boolean deleteSubFolders)
                    throws java.lang.Exception
Empties a folder. Calling this method results in a call to EWS.

Parameters:
folderId - The folder id
deleteMode - The delete mode
deleteSubFolders - if set to true empty folder should also delete sub folders.
Throws:
java.lang.Exception - the exception

createItems

public ServiceResponseCollection<ServiceResponse> createItems(java.util.Collection<Item> items,
                                                              FolderId parentFolderId,
                                                              MessageDisposition messageDisposition,
                                                              SendInvitationsMode sendInvitationsMode)
                                                       throws java.lang.Exception
* Creates multiple items in a single EWS call. Supported item classes are EmailMessage, Appointment, Contact, PostItem, Task and Item. CreateItems does not support items that have unsaved attachments.

Parameters:
items - the items
parentFolderId - the parent folder id
messageDisposition - the message disposition
sendInvitationsMode - the send invitations mode
Returns:
A ServiceResponseCollection providing creation results for each of the specified items.
Throws:
java.lang.Exception - the exception

createItem

protected void createItem(Item item,
                          FolderId parentFolderId,
                          MessageDisposition messageDisposition,
                          SendInvitationsMode sendInvitationsMode)
                   throws java.lang.Exception
* Creates an item. Calling this method results in a call to EWS.

Parameters:
item - the item
parentFolderId - the parent folder id
messageDisposition - the message disposition
sendInvitationsMode - the send invitations mode
Throws:
java.lang.Exception - the exception

updateItems

public ServiceResponseCollection<UpdateItemResponse> updateItems(java.lang.Iterable<Item> items,
                                                                 FolderId savedItemsDestinationFolderId,
                                                                 ConflictResolutionMode conflictResolution,
                                                                 MessageDisposition messageDisposition,
                                                                 SendInvitationsOrCancellationsMode sendInvitationsOrCancellationsMode)
                                                          throws java.lang.Exception
* Updates multiple items in a single EWS call. UpdateItems does not support items that have unsaved attachments.

Parameters:
items - the items
savedItemsDestinationFolderId - the saved items destination folder id
conflictResolution - the conflict resolution
messageDisposition - the message disposition
sendInvitationsOrCancellationsMode - the send invitations or cancellations mode
Returns:
A ServiceResponseCollection providing update results for each of the specified items.
Throws:
java.lang.Exception - the exception

updateItem

protected Item updateItem(Item item,
                          FolderId savedItemsDestinationFolderId,
                          ConflictResolutionMode conflictResolution,
                          MessageDisposition messageDisposition,
                          SendInvitationsOrCancellationsMode sendInvitationsOrCancellationsMode)
                   throws java.lang.Exception
Updates an item.

Parameters:
item - the item
savedItemsDestinationFolderId - the saved items destination folder id
conflictResolution - the conflict resolution
messageDisposition - the message disposition
sendInvitationsOrCancellationsMode - the send invitations or cancellations mode
Returns:
A ServiceResponseCollection providing deletion results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

sendItem

protected void sendItem(Item item,
                        FolderId savedCopyDestinationFolderId)
                 throws java.lang.Exception
Send item.

Parameters:
item - the item
savedCopyDestinationFolderId - the saved copy destination folder id
Throws:
java.lang.Exception - the exception

copyItems

public ServiceResponseCollection<MoveCopyItemResponse> copyItems(java.lang.Iterable<ItemId> itemIds,
                                                                 FolderId destinationFolderId)
                                                          throws java.lang.Exception
* Copies multiple items in a single call to EWS.

Parameters:
itemIds - the item ids
destinationFolderId - the destination folder id
Returns:
A ServiceResponseCollection providing copy results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

copyItems

public ServiceResponseCollection<MoveCopyItemResponse> copyItems(java.lang.Iterable<ItemId> itemIds,
                                                                 FolderId destinationFolderId,
                                                                 boolean returnNewItemIds)
                                                          throws java.lang.Exception
Copies multiple items in a single call to EWS.

Parameters:
itemIds - The Ids of the items to copy.
destinationFolderId - The Id of the folder to copy the items to.
returnNewItemIds - Flag indicating whether service should return new ItemIds or not.
Returns:
A ServiceResponseCollection providing copy results for each of the specified item Ids.
Throws:
java.lang.Exception

copyItem

protected Item copyItem(ItemId itemId,
                        FolderId destinationFolderId)
                 throws java.lang.Exception
Copies an item. Calling this method results in a call to EWS.

Parameters:
itemId - The Id of the item to copy.
destinationFolderId - The folder in which to save sent messages, meeting invitations or cancellations. If null, the message, meeting invitation or cancellation is saved in the Sent Items folder
Returns:
The copy of the item.
Throws:
java.lang.Exception - the exception

moveItems

public ServiceResponseCollection<MoveCopyItemResponse> moveItems(java.lang.Iterable<ItemId> itemIds,
                                                                 FolderId destinationFolderId)
                                                          throws java.lang.Exception
* Moves multiple items in a single call to EWS.

Parameters:
itemIds - the item ids
destinationFolderId - the destination folder id
Returns:
A ServiceResponseCollection providing copy results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

moveItems

public ServiceResponseCollection<MoveCopyItemResponse> moveItems(java.lang.Iterable<ItemId> itemIds,
                                                                 FolderId destinationFolderId,
                                                                 boolean returnNewItemIds)
                                                          throws java.lang.Exception
Moves multiple items in a single call to EWS.

Parameters:
itemIds - The Ids of the items to move.
destinationFolderId - The Id of the folder to move the items to.
returnNewItemIds - Flag indicating whether service should return new ItemIds or not.
Returns:
A ServiceResponseCollection providing copy results for each of the specified item Ids.
Throws:
java.lang.Exception

moveItem

protected Item moveItem(ItemId itemId,
                        FolderId destinationFolderId)
                 throws java.lang.Exception
Copies multiple items in a single call to EWS.

Parameters:
itemId - the item id
destinationFolderId - the destination folder id
Returns:
A ServiceResponseCollection providing copy results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

findItems

protected <TItem extends Item> ServiceResponseCollection<FindItemResponse<TItem>> findItems(java.lang.Iterable<FolderId> parentFolderIds,
                                                                                            SearchFilter searchFilter,
                                                                                            java.lang.String queryString,
                                                                                            ViewBase view,
                                                                                            Grouping groupBy,
                                                                                            microsoft.exchange.webservices.data.ServiceErrorHandling errorHandlingMode)
                                                                             throws java.lang.Exception
Finds items.

Type Parameters:
TItem - The type of item
Parameters:
parentFolderIds - The parent folder ids.
searchFilter - The search filter. Available search filter classes include SearchFilter.IsEqualTo, SearchFilter.ContainsSubstring and SearchFilter.SearchFilterCollection
queryString - the query string
view - The view controlling the number of folders returned.
groupBy - The group by.
errorHandlingMode - Indicates the type of error handling should be done.
Returns:
Service response collection.
Throws:
java.lang.Exception - the exception

findItems

public FindItemsResults<Item> findItems(FolderId parentFolderId,
                                        java.lang.String queryString,
                                        ItemView view)
                                 throws java.lang.Exception
Obtains a list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
queryString - the query string
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findItems

public FindItemsResults<Item> findItems(FolderId parentFolderId,
                                        SearchFilter searchFilter,
                                        ItemView view)
                                 throws java.lang.Exception
Obtains a list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
searchFilter - the search filter
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findItems

public FindItemsResults<Item> findItems(FolderId parentFolderId,
                                        ItemView view)
                                 throws java.lang.Exception
Obtains a list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findItems

public FindItemsResults<Item> findItems(WellKnownFolderName parentFolderName,
                                        java.lang.String queryString,
                                        ItemView view)
                                 throws java.lang.Exception
Obtains a list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderName - the parent folder name
queryString - the query string
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findItems

public FindItemsResults<Item> findItems(WellKnownFolderName parentFolderName,
                                        SearchFilter searchFilter,
                                        ItemView view)
                                 throws java.lang.Exception
Obtains a list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderName - the parent folder name
searchFilter - the search filter
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findItems

public FindItemsResults<Item> findItems(WellKnownFolderName parentFolderName,
                                        ItemView view)
                                 throws java.lang.Exception
Obtains a list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderName - the parent folder name
view - the view
Returns:
An object representing the results of the search operation.
Throws:
java.lang.Exception - the exception

findItems

public GroupedFindItemsResults<Item> findItems(FolderId parentFolderId,
                                               java.lang.String queryString,
                                               ItemView view,
                                               Grouping groupBy)
                                        throws java.lang.Exception
Obtains a grouped list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
queryString - the query string
view - the view
groupBy - the group by
Returns:
A list of items containing the contents of the specified folder.
Throws:
java.lang.Exception - the exception

findItems

public GroupedFindItemsResults<Item> findItems(FolderId parentFolderId,
                                               SearchFilter searchFilter,
                                               ItemView view,
                                               Grouping groupBy)
                                        throws java.lang.Exception
Obtains a grouped list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
searchFilter - the search filter
view - the view
groupBy - the group by
Returns:
A list of items containing the contents of the specified folder.
Throws:
java.lang.Exception - the exception

findItems

public GroupedFindItemsResults<Item> findItems(FolderId parentFolderId,
                                               ItemView view,
                                               Grouping groupBy)
                                        throws java.lang.Exception
Obtains a grouped list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
view - the view
groupBy - the group by
Returns:
A list of items containing the contents of the specified folder.
Throws:
java.lang.Exception - the exception

findItems

protected <TItem extends Item> ServiceResponseCollection<FindItemResponse<TItem>> findItems(java.lang.Class<TItem> cls,
                                                                                            FolderId parentFolderId,
                                                                                            SearchFilter searchFilter,
                                                                                            ViewBase view,
                                                                                            Grouping groupBy)
                                                                             throws java.lang.Exception
Obtains a grouped list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Type Parameters:
TItem - the generic type
Parameters:
cls - the cls
parentFolderId - the parent folder id
searchFilter - the search filter
view - the view
groupBy - the group by
Returns:
A list of items containing the contents of the specified folder.
Throws:
java.lang.Exception - the exception

findItems

public GroupedFindItemsResults<Item> findItems(WellKnownFolderName parentFolderName,
                                               java.lang.String queryString,
                                               ItemView view,
                                               Grouping groupBy)
                                        throws java.lang.Exception
Obtains a grouped list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderName - the parent folder name
queryString - the query string
view - the view
groupBy - the group by
Returns:
A collection of grouped items containing the contents of the specified.
Throws:
java.lang.Exception - the exception

findItems

public GroupedFindItemsResults<Item> findItems(WellKnownFolderName parentFolderName,
                                               SearchFilter searchFilter,
                                               ItemView view,
                                               Grouping groupBy)
                                        throws java.lang.Exception
Obtains a grouped list of items by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderName - the parent folder name
searchFilter - the search filter
view - the view
groupBy - the group by
Returns:
A collection of grouped items containing the contents of the specified.
Throws:
java.lang.Exception - the exception

findAppointments

public FindItemsResults<Appointment> findAppointments(FolderId parentFolderId,
                                                      CalendarView calendarView)
                                               throws java.lang.Exception
* Obtains a list of appointments by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderId - the parent folder id
calendarView - the calendar view
Returns:
A collection of appointments representing the contents of the specified folder.
Throws:
java.lang.Exception - the exception

findAppointments

public FindItemsResults<Appointment> findAppointments(WellKnownFolderName parentFolderName,
                                                      CalendarView calendarView)
                                               throws java.lang.Exception
* Obtains a list of appointments by searching the contents of a specific folder. Calling this method results in a call to EWS.

Parameters:
parentFolderName - the parent folder name
calendarView - the calendar view
Returns:
A collection of appointments representing the contents of the specified folder.
Throws:
java.lang.Exception - the exception

loadPropertiesForItems

public ServiceResponseCollection<ServiceResponse> loadPropertiesForItems(java.lang.Iterable<Item> items,
                                                                         PropertySet propertySet)
                                                                  throws java.lang.Exception
* Loads the properties of multiple items in a single call to EWS.

Parameters:
items - the items
propertySet - the property set
Returns:
A ServiceResponseCollection providing results for each of the specified items.
Throws:
java.lang.Exception - the exception

bindToItems

public ServiceResponseCollection<GetItemResponse> bindToItems(java.lang.Iterable<ItemId> itemIds,
                                                              PropertySet propertySet)
                                                       throws java.lang.Exception
* Binds to multiple items in a single call to EWS.

Parameters:
itemIds - the item ids
propertySet - the property set
Returns:
A ServiceResponseCollection providing results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

bindToItem

protected Item bindToItem(ItemId itemId,
                          PropertySet propertySet)
                   throws java.lang.Exception
* Binds to multiple items in a single call to EWS.

Parameters:
itemId - the item id
propertySet - the property set
Returns:
A ServiceResponseCollection providing results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

bindToItem

protected <TItem extends Item> TItem bindToItem(java.lang.Class<TItem> c,
                                                ItemId itemId,
                                                PropertySet propertySet)
                                 throws java.lang.Exception
Bind to item.

Type Parameters:
TItem - The type of the item.
Parameters:
c - the c
itemId - the item id
propertySet - the property set
Returns:
the t item
Throws:
java.lang.Exception - the exception

deleteItems

public ServiceResponseCollection<ServiceResponse> deleteItems(java.lang.Iterable<ItemId> itemIds,
                                                              DeleteMode deleteMode,
                                                              SendCancellationsMode sendCancellationsMode,
                                                              AffectedTaskOccurrence affectedTaskOccurrences)
                                                       throws java.lang.Exception
Deletes multiple items in a single call to EWS.

Parameters:
itemIds - the item ids
deleteMode - the delete mode
sendCancellationsMode - the send cancellations mode
affectedTaskOccurrences - the affected task occurrences
Returns:
A ServiceResponseCollection providing deletion results for each of the specified item Ids.
Throws:
java.lang.Exception - the exception

deleteItem

protected void deleteItem(ItemId itemId,
                          DeleteMode deleteMode,
                          SendCancellationsMode sendCancellationsMode,
                          AffectedTaskOccurrence affectedTaskOccurrences)
                   throws java.lang.Exception
Deletes an item. Calling this method results in a call to EWS.

Parameters:
itemId - the item id
deleteMode - the delete mode
sendCancellationsMode - the send cancellations mode
affectedTaskOccurrences - the affected task occurrences
Throws:
java.lang.Exception - the exception

getAttachments

protected ServiceResponseCollection<microsoft.exchange.webservices.data.GetAttachmentResponse> getAttachments(Attachment[] attachments,
                                                                                                              BodyType bodyType,
                                                                                                              java.lang.Iterable<PropertyDefinitionBase> additionalProperties)
                                                                                                       throws java.lang.Exception
Gets attachments.

Parameters:
attachments - the attachments
bodyType - the body type
additionalProperties - the additional properties
Returns:
Service response collection.
Throws:
java.lang.Exception

getAttachment

protected void getAttachment(Attachment attachment,
                             BodyType bodyType,
                             java.lang.Iterable<PropertyDefinitionBase> additionalProperties)
                      throws java.lang.Exception
Gets the attachment.

Parameters:
attachment - the attachment
bodyType - the body type
additionalProperties - the additional properties
Throws:
java.lang.Exception - the exception

createAttachments

protected ServiceResponseCollection<CreateAttachmentResponse> createAttachments(java.lang.String parentItemId,
                                                                                java.lang.Iterable<Attachment> attachments)
                                                                         throws ServiceResponseException,
                                                                                java.lang.Exception
* Creates attachments.

Parameters:
parentItemId - the parent item id
attachments - the attachments
Returns:
Service response collection.
Throws:
ServiceResponseException - the service response exception
java.lang.Exception - the exception

deleteAttachments

protected ServiceResponseCollection<DeleteAttachmentResponse> deleteAttachments(java.lang.Iterable<Attachment> attachments)
                                                                         throws ServiceResponseException,
                                                                                java.lang.Exception
* Deletes attachments.

Parameters:
attachments - the attachments
Returns:
the service response collection
Throws:
ServiceResponseException - the service response exception
java.lang.Exception - the exception

resolveName

public NameResolutionCollection resolveName(java.lang.String nameToResolve)
                                     throws java.lang.Exception
* Finds contacts in the user's Contacts folder and the Global Address List (in that order) that have names that match the one passed as a parameter. Calling this method results in a call to EWS.

Parameters:
nameToResolve - the name to resolve
Returns:
A collection of name resolutions whose names match the one passed as a parameter.
Throws:
java.lang.Exception - the exception

resolveName

public NameResolutionCollection resolveName(java.lang.String nameToResolve,
                                            java.lang.Iterable<FolderId> parentFolderIds,
                                            ResolveNameSearchLocation searchScope,
                                            boolean returnContactDetails)
                                     throws java.lang.Exception
* Finds contacts in the user's Contacts folder and the Global Address List (in that order) that have names that match the one passed as a parameter. Calling this method results in a call to EWS.

Parameters:
nameToResolve - the name to resolve
parentFolderIds - the parent folder ids
searchScope - the search scope
returnContactDetails - the return contact details
Returns:
A collection of name resolutions whose names match the one passed as a parameter.
Throws:
java.lang.Exception - the exception

resolveName

public NameResolutionCollection resolveName(java.lang.String nameToResolve,
                                            java.lang.Iterable<FolderId> parentFolderIds,
                                            ResolveNameSearchLocation searchScope,
                                            boolean returnContactDetails,
                                            PropertySet contactDataPropertySet)
                                     throws java.lang.Exception
Finds contacts in the Global Address List and/or in specific contact folders that have names that match the one passed as a parameter. Calling this method results in a call to EWS.

Parameters:
nameToResolve - The name to resolve.
parentFolderIds - The Ids of the contact folders in which to look for matching contacts.
searchScope - The scope of the search.
returnContactDetails - Indicates whether full contact information should be returned for each of the found contacts.
contactDataPropertySet - The property set for the contact details
Throws:
java.lang.Exception

resolveName

public NameResolutionCollection resolveName(java.lang.String nameToResolve,
                                            ResolveNameSearchLocation searchScope,
                                            boolean returnContactDetails,
                                            PropertySet contactDataPropertySet)
                                     throws java.lang.Exception
Finds contacts in the Global Address List that have names that match the one passed as a parameter. Calling this method results in a call to EWS.

Parameters:
nameToResolve - The name to resolve.
searchScope - The scope of the search.
returnContactDetails - Indicates whether full contact information should be returned for each of the found contacts.
contactDataPropertySet - The property set for the contact details
Throws:
java.lang.Exception

resolveName

public NameResolutionCollection resolveName(java.lang.String nameToResolve,
                                            ResolveNameSearchLocation searchScope,
                                            boolean returnContactDetails)
                                     throws java.lang.Exception
* Finds contacts in the user's Contacts folder and the Global Address List (in that order) that have names that match the one passed as a parameter. Calling this method results in a call to EWS.

Parameters:
nameToResolve - the name to resolve
searchScope - the search scope
returnContactDetails - the return contact details
Returns:
A collection of name resolutions whose names match the one passed as a parameter.
Throws:
java.lang.Exception - the exception

expandGroup

public ExpandGroupResults expandGroup(EmailAddress emailAddress)
                               throws java.lang.Exception
* Expands a group by retrieving a list of its members. Calling this method results in a call to EWS.

Parameters:
emailAddress - the email address
Returns:
URL of the Exchange Web Services.
Throws:
java.lang.Exception - the exception

expandGroup

public ExpandGroupResults expandGroup(ItemId groupId)
                               throws java.lang.Exception
* Expands a group by retrieving a list of its members. Calling this method results in a call to EWS.

Parameters:
groupId - the group id
Returns:
An ExpandGroupResults containing the members of the group.
Throws:
java.lang.Exception - the exception

expandGroup

public ExpandGroupResults expandGroup(java.lang.String smtpAddress)
                               throws java.lang.Exception
* Expands a group by retrieving a list of its members. Calling this method results in a call to EWS.

Parameters:
smtpAddress - the smtp address
Returns:
An ExpandGroupResults containing the members of the group.
Throws:
java.lang.Exception - the exception

expandGroup

public ExpandGroupResults expandGroup(java.lang.String address,
                                      java.lang.String routingType)
                               throws java.lang.Exception
* Expands a group by retrieving a list of its members. Calling this method results in a call to EWS.

Parameters:
address - the address
routingType - the routing type
Returns:
An ExpandGroupResults containing the members of the group.
Throws:
java.lang.Exception - the exception

getPasswordExpirationDate

public java.util.Date getPasswordExpirationDate(java.lang.String mailboxSmtpAddress)
                                         throws java.lang.Exception
Get the password expiration date

Parameters:
mailboxSmtpAddress - The e-mail address of the user.
Throws:
java.lang.Exception

subscribeToPullNotifications

public PullSubscription subscribeToPullNotifications(java.lang.Iterable<FolderId> folderIds,
                                                     int timeout,
                                                     java.lang.String watermark,
                                                     EventType... eventTypes)
                                              throws java.lang.Exception
Subscribes to pull notifications. Calling this method results in a call to EWS.

Parameters:
folderIds - The Ids of the folder to subscribe to
timeout - The timeout, in minutes, after which the subscription expires. Timeout must be between 1 and 1440.
watermark - An optional watermark representing a previously opened subscription.
EventType - The event types to subscribe to.
Returns:
A PullSubscription representing the new subscription.
Throws:
java.lang.Exception

beginSubscribeToPullNotifications

public AsyncRequestResult beginSubscribeToPullNotifications(microsoft.exchange.webservices.data.AsyncCallback callback,
                                                            java.lang.Object state,
                                                            java.lang.Iterable<FolderId> folderIds,
                                                            int timeout,
                                                            java.lang.String watermark,
                                                            EventType... eventTypes)
                                                     throws java.lang.Exception
Begins an asynchronous request to subscribes to pull notifications. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate.
state - An object that contains state information for this request.
folderIds - The Ids of the folder to subscribe to.
timeout - The timeout, in minutes, after which the subscription expires. Timeout must be between 1 and 1440.
watermark - An optional watermark representing a previously opened subscription.
eventTypes - The event types to subscribe to.
Throws:
java.lang.Exception

subscribeToPullNotificationsOnAllFolders

public PullSubscription subscribeToPullNotificationsOnAllFolders(int timeout,
                                                                 java.lang.String watermark,
                                                                 EventType... eventTypes)
                                                          throws java.lang.Exception
* Subscribes to pull notifications on all folders in the authenticated user's mailbox. Calling this method results in a call to EWS.

Parameters:
timeout - the timeout
watermark - the watermark
eventTypes - the event types
Returns:
A PullSubscription representing the new subscription.
Throws:
java.lang.Exception - the exception

beginSubscribeToPullNotificationsOnAllFolders

public IAsyncResult beginSubscribeToPullNotificationsOnAllFolders(microsoft.exchange.webservices.data.AsyncCallback callback,
                                                                  java.lang.Object state,
                                                                  int timeout,
                                                                  java.lang.String watermark,
                                                                  EventType... eventTypes)
                                                           throws java.lang.Exception
Begins an asynchronous request to subscribe to pull notifications on all folders in the authenticated user's mailbox. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate.
state - An object that contains state information for this request.
timeout - The timeout, in minutes, after which the subscription expires. Timeout must be between 1 and 1440.
watermark - An optional watermark representing a previously opened subscription.
eventTypes - The event types to subscribe to.
Throws:
java.lang.Exception

endSubscribeToPullNotifications

public PullSubscription endSubscribeToPullNotifications(IAsyncResult asyncResult)
                                                 throws java.lang.Exception
Ends an asynchronous request to subscribe to pull notifications in the authenticated user's mailbox.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

unsubscribe

protected void unsubscribe(java.lang.String subscriptionId)
                    throws java.lang.Exception
Unsubscribes from a pull subscription. Calling this method results in a call to EWS.

Parameters:
subscriptionId - the subscription id
Throws:
java.lang.Exception - the exception

beginUnsubscribe

protected IAsyncResult beginUnsubscribe(microsoft.exchange.webservices.data.AsyncCallback callback,
                                        java.lang.Object state,
                                        java.lang.String subscriptionId)
                                 throws java.lang.Exception
Begins an asynchronous request to unsubscribe from a subscription. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate.
state - An object that contains state information for this request.
subscriptionId - The Id of the pull subscription to unsubscribe from.
Throws:
java.lang.Exception

endUnsubscribe

protected void endUnsubscribe(IAsyncResult asyncResult)
                       throws java.lang.Exception
Ends an asynchronous request to unsubscribe from a subscription.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

getEvents

protected GetEventsResults getEvents(java.lang.String subscriptionId,
                                     java.lang.String waterMark)
                              throws java.lang.Exception
* Retrieves the latests events associated with a pull subscription. Calling this method results in a call to EWS.

Parameters:
subscriptionId - the subscription id
waterMark - the water mark
Returns:
A GetEventsResults containing a list of events associated with the subscription.
Throws:
java.lang.Exception - the exception

beginGetEvents

protected IAsyncResult beginGetEvents(microsoft.exchange.webservices.data.AsyncCallback callback,
                                      java.lang.Object state,
                                      java.lang.String subscriptionId,
                                      java.lang.String watermark)
                               throws java.lang.Exception
Begins an asynchronous request to retrieve the latest events associated with a pull subscription. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate.
state - An object that contains state information for this request.
subscriptionId - The id of the pull subscription for which to get the events
watermark - The watermark representing the point in time where to start receiving events
Returns:
An IAsynResult that references the asynchronous request
Throws:
java.lang.Exception

endGetEvents

protected GetEventsResults endGetEvents(IAsyncResult asyncResult)
                                 throws java.lang.Exception
Ends an asynchronous request to retrieve the latest events associated with a pull subscription.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

subscribeToPushNotifications

public PushSubscription subscribeToPushNotifications(java.lang.Iterable<FolderId> folderIds,
                                                     java.net.URI url,
                                                     int frequency,
                                                     java.lang.String watermark,
                                                     EventType... eventTypes)
                                              throws java.lang.Exception
* Subscribes to push notifications. Calling this method results in a call to EWS.

Parameters:
folderIds - the folder ids
url - the url
frequency - the frequency
watermark - the watermark
eventTypes - the event types
Returns:
A PushSubscription representing the new subscription.
Throws:
java.lang.Exception - the exception

beginSubscribeToPushNotifications

public IAsyncResult beginSubscribeToPushNotifications(microsoft.exchange.webservices.data.AsyncCallback callback,
                                                      java.lang.Object state,
                                                      java.lang.Iterable<FolderId> folderIds,
                                                      java.net.URI url,
                                                      int frequency,
                                                      java.lang.String watermark,
                                                      EventType... eventTypes)
                                               throws java.lang.Exception
Begins an asynchronous request to subscribe to push notifications. Calling this method results in a call to EWS.

Parameters:
callback - The asynccallback delegate
state - An object that contains state information for this request
folderIds - The ids of the folder to subscribe
url - the url of web service endpoint the exchange server should
frequency - the frequency,in minutes at which the exchange server should contact the web Service endpoint. Frequency must be between 1 and 1440.
watermark - An optional watermark representing a previously opened subscription
eventTypes - The event types to subscribe to.
Returns:
An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception
java.lang.Exception - the exception

subscribeToPushNotificationsOnAllFolders

public PushSubscription subscribeToPushNotificationsOnAllFolders(java.net.URI url,
                                                                 int frequency,
                                                                 java.lang.String watermark,
                                                                 EventType... eventTypes)
                                                          throws java.lang.Exception
* Subscribes to push notifications on all folders in the authenticated user's mailbox. Calling this method results in a call to EWS.

Parameters:
url - the url
frequency - the frequency
watermark - the watermark
eventTypes - the event types
Returns:
A PushSubscription representing the new subscription.
Throws:
java.lang.Exception - the exception

beginSubscribeToPushNotificationsOnAllFolders

public IAsyncResult beginSubscribeToPushNotificationsOnAllFolders(microsoft.exchange.webservices.data.AsyncCallback callback,
                                                                  java.lang.Object state,
                                                                  java.net.URI url,
                                                                  int frequency,
                                                                  java.lang.String watermark,
                                                                  EventType... eventTypes)
                                                           throws java.lang.Exception
Begins an asynchronous request to subscribe to push notifications on all folders in the authenticated user's mailbox. Calling this method results in a call to EWS.

Parameters:
callback - The asynccallback delegate
state - An object that contains state inforamtion for this request
url - the url
frequency - the frequency,in minutes at which the exchange server should contact the web Service endpoint. Frequency must be between 1 and 1440.
watermark - An optional watermark representing a previously opened subscription
eventTypes - The event types to subscribe to.
Returns:
An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

endSubscribeToPushNotifications

public PushSubscription endSubscribeToPushNotifications(IAsyncResult asyncResult)
                                                 throws java.lang.Exception
Ends an asynchronous request to subscribe to push notifications in the authenticated user's mailbox.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Returns:
A PushSubscription representing the new subscription
Throws:
java.lang.Exception

subscribeToStreamingNotifications

public StreamingSubscription subscribeToStreamingNotifications(java.lang.Iterable<FolderId> folderIds,
                                                               EventType... eventTypes)
                                                        throws java.lang.Exception
Subscribes to streaming notifications. Calling this method results in a call to EWS.

Parameters:
folderIds - The Ids of the folder to subscribe to.
EventType - The event types to subscribe to.
Returns:
A StreamingSubscription representing the new subscription
Throws:
java.lang.Exception

subscribeToStreamingNotificationsOnAllFolders

public StreamingSubscription subscribeToStreamingNotificationsOnAllFolders(EventType... eventTypes)
                                                                    throws java.lang.Exception
Subscribes to streaming notifications on all folders in the authenticated user's mailbox. Calling this method results in a call to EWS.

Parameters:
eventTypes - The event types to subscribe to.
Returns:
A StreamingSubscription representing the new subscription.
Throws:
java.lang.Exception

beginSubscribeToStreamingNotifications

public IAsyncResult beginSubscribeToStreamingNotifications(microsoft.exchange.webservices.data.AsyncCallback callback,
                                                           java.lang.Object state,
                                                           java.lang.Iterable<FolderId> folderIds,
                                                           EventType... eventTypes)
                                                    throws java.lang.Exception
Begins an asynchronous request to subscribe to streaming notifications. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate
state - An object that contains state information for this request.
folderIds - The Ids of the folder to subscribe to.
EventType - The event types to subscribe to.
Returns:
An IAsyncResult that references the asynchronous request
Throws:
java.lang.Exception

beginSubscribeToStreamingNotificationsOnAllFolders

public IAsyncResult beginSubscribeToStreamingNotificationsOnAllFolders(microsoft.exchange.webservices.data.AsyncCallback callback,
                                                                       java.lang.Object state,
                                                                       EventType... eventTypes)
                                                                throws java.lang.Exception
Begins an asynchronous request to subscribe to streaming notifications on all folders in the authenticated user's mailbox. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate
state - An object that contains state information for this request.
eventTypes -
Throws:
java.lang.Exception

endSubscribeToStreamingNotifications

public StreamingSubscription endSubscribeToStreamingNotifications(IAsyncResult asyncResult)
                                                           throws java.lang.IndexOutOfBoundsException,
                                                                  java.lang.Exception
Ends an asynchronous request to subscribe to push notifications in the authenticated user's mailbox.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Returns:
A streamingSubscription representing the new subscription
Throws:
java.lang.Exception
java.lang.IndexOutOfBoundsException

syncFolderItems

public ChangeCollection<ItemChange> syncFolderItems(FolderId syncFolderId,
                                                    PropertySet propertySet,
                                                    java.lang.Iterable<ItemId> ignoredItemIds,
                                                    int maxChangesReturned,
                                                    SyncFolderItemsScope syncScope,
                                                    java.lang.String syncState)
                                             throws java.lang.Exception
* Synchronizes the items of a specific folder. Calling this method results in a call to EWS.

Parameters:
syncFolderId - The Id of the folder containing the items to synchronize with.
propertySet - The set of properties to retrieve for synchronized items.
ignoredItemIds - The optional list of item Ids that should be ignored.
maxChangesReturned - The maximum number of changes that should be returned.
syncScope - The sync scope identifying items to include in the ChangeCollection.
syncState - The optional sync state representing the point in time when to start the synchronization.
Returns:
A ChangeCollection containing a list of changes that occurred in the specified folder.
Throws:
java.lang.Exception - the exception

beginSyncFolderItems

public IAsyncResult beginSyncFolderItems(microsoft.exchange.webservices.data.AsyncCallback callback,
                                         java.lang.Object state,
                                         FolderId syncFolderId,
                                         PropertySet propertySet,
                                         java.lang.Iterable<ItemId> ignoredItemIds,
                                         int maxChangesReturned,
                                         SyncFolderItemsScope syncScope,
                                         java.lang.String syncState)
                                  throws java.lang.Exception
Begins an asynchronous request to synchronize the items of a specific folder. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate
state - An object that contains state information for this request
syncFolderId - The Id of the folder containing the items to synchronize with
propertySet - The set of properties to retrieve for synchronized items.
ignoredItemIds - The optional list of item Ids that should be ignored.
maxChangesReturned - The maximum number of changes that should be returned.
syncScope - The sync scope identifying items to include in the ChangeCollection
syncState - The optional sync state representing the point in time when to start the synchronization
Returns:
An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

endSyncFolderItems

public ChangeCollection<ItemChange> endSyncFolderItems(IAsyncResult asyncResult)
                                                throws java.lang.Exception
Ends an asynchronous request to synchronize the items of a specific folder.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

syncFolderHierarchy

public ChangeCollection<FolderChange> syncFolderHierarchy(FolderId syncFolderId,
                                                          PropertySet propertySet,
                                                          java.lang.String syncState)
                                                   throws java.lang.Exception
* Synchronizes the sub-folders of a specific folder. Calling this method results in a call to EWS.

Parameters:
syncFolderId - the sync folder id
propertySet - the property set
syncState - the sync state
Returns:
A ChangeCollection containing a list of changes that occurred in the specified folder.
Throws:
java.lang.Exception - the exception

beginSyncFolderHierarchy

public IAsyncResult beginSyncFolderHierarchy(microsoft.exchange.webservices.data.AsyncCallback callback,
                                             java.lang.Object state,
                                             FolderId syncFolderId,
                                             PropertySet propertySet,
                                             java.lang.String syncState)
                                      throws java.lang.Exception
Begins an asynchronous request to synchronize the sub-folders of a specific folder. Calling this method results in a call to EWS.

Parameters:
callback - The AsyncCallback delegate
state - An object that contains state information for this request.
syncFolderId - The Id of the folder containing the items to synchronize with. A null value indicates the root folder of the mailbox.
propertySet - The set of properties to retrieve for synchronized items.
syncState - The optional sync state representing the point in time when to start the synchronization.
Returns:
An IAsyncResult that references the asynchronous request
Throws:
java.lang.Exception

syncFolderHierarchy

public ChangeCollection<FolderChange> syncFolderHierarchy(PropertySet propertySet,
                                                          java.lang.String syncState)
                                                   throws java.lang.Exception
Synchronizes the entire folder hierarchy of the mailbox this Service is connected to. Calling this method results in a call to EWS.

Parameters:
propertySet - The set of properties to retrieve for synchronized items.
syncState - The optional sync state representing the point in time when to start the synchronization.
Returns:
A ChangeCollection containing a list of changes that occurred in the specified folder.
Throws:
java.lang.Exception

endSyncFolderHierarchy

public ChangeCollection<FolderChange> endSyncFolderHierarchy(IAsyncResult asyncResult)
                                                      throws java.lang.Exception
Ends an asynchronous request to synchronize the specified folder hierarchy of the mailbox this Service is connected to.

Parameters:
asyncResult - An IAsyncResult that references the asynchronous request.
Throws:
java.lang.Exception

getUserOofSettings

public OofSettings getUserOofSettings(java.lang.String smtpAddress)
                               throws java.lang.Exception
* Gets Out of Office (OOF) settings for a specific user. Calling this method results in a call to EWS.

Parameters:
smtpAddress - the smtp address
Returns:
An OofSettings instance containing OOF information for the specified user.
Throws:
java.lang.Exception - the exception

setUserOofSettings

public void setUserOofSettings(java.lang.String smtpAddress,
                               OofSettings oofSettings)
                        throws java.lang.Exception
* Sets Out of Office (OOF) settings for a specific user. Calling this method results in a call to EWS.

Parameters:
smtpAddress - the smtp address
oofSettings - the oof settings
Throws:
java.lang.Exception - the exception

getUserAvailability

public GetUserAvailabilityResults getUserAvailability(java.lang.Iterable<AttendeeInfo> attendees,
                                                      TimeWindow timeWindow,
                                                      AvailabilityData requestedData,
                                                      AvailabilityOptions options)
                                               throws java.lang.Exception
* Gets detailed information about the availability of a set of users, rooms, and resources within a specified time window.

Parameters:
attendees - the attendees
timeWindow - the time window
requestedData - the requested data
options - the options
Returns:
The availability information for each user appears in a unique FreeBusyResponse object. The order of users in the request determines the order of availability data for each user in the response.
Throws:
java.lang.Exception - the exception

getUserAvailability

public GetUserAvailabilityResults getUserAvailability(java.lang.Iterable<AttendeeInfo> attendees,
                                                      TimeWindow timeWindow,
                                                      AvailabilityData requestedData)
                                               throws java.lang.Exception
* Gets detailed information about the availability of a set of users, rooms, and resources within a specified time window.

Parameters:
attendees - the attendees
timeWindow - the time window
requestedData - the requested data
Returns:
The availability information for each user appears in a unique FreeBusyResponse object. The order of users in the request determines the order of availability data for each user in the response.
Throws:
java.lang.Exception - the exception

getRoomLists

public EmailAddressCollection getRoomLists()
                                    throws java.lang.Exception
* Retrieves a collection of all room lists in the organization.

Returns:
An EmailAddressCollection containing all the room lists in the organization
Throws:
java.lang.Exception - the exception

getRooms

public java.util.Collection<EmailAddress> getRooms(EmailAddress emailAddress)
                                            throws java.lang.Exception
* Retrieves a collection of all room lists in the specified room list in the organization.

Parameters:
emailAddress - the email address
Returns:
A collection of EmailAddress objects representing all the rooms within the specifed room list.
Throws:
java.lang.Exception - the exception

findConversation

public java.util.Collection<Conversation> findConversation(ConversationIndexedItemView view,
                                                           FolderId folderId)
                                                    throws java.lang.Exception
Retrieves a collection of all Conversations in the specified Folder.

Parameters:
view - The view controlling the number of conversations returned.
folderId - The Id of the folder in which to search for conversations.
Throws:
java.lang.Exception

enableAlwaysCategorizeItemsInConversations

public ServiceResponseCollection<ServiceResponse> enableAlwaysCategorizeItemsInConversations(java.lang.Iterable<ConversationId> conversationId,
                                                                                             java.lang.Iterable<java.lang.String> categories,
                                                                                             boolean processSynchronously)
                                                                                      throws java.lang.Exception
Sets up a conversation so that any item received within that conversation is always categorized. Calling this method results in a call to EWS.

Parameters:
conversationId - The id of the conversation.
categories - The categories that should be stamped on items in the conversation.
processSynchronously - Indicates whether the method should return only once enabling this rule and stamping existing items in the conversation is completely done. If processSynchronously is false, the method returns immediately.
Throws:
java.lang.Exception

disableAlwaysCategorizeItemsInConversations

public ServiceResponseCollection<ServiceResponse> disableAlwaysCategorizeItemsInConversations(java.lang.Iterable<ConversationId> conversationId,
                                                                                              boolean processSynchronously)
                                                                                       throws java.lang.Exception
Sets up a conversation so that any item received within that conversation is no longer categorized. Calling this method results in a call to EWS.

Parameters:
conversationId - The id of the conversation.
processSynchronously - Indicates whether the method should return only once enabling this rule and stamping existing items in the conversation is completely done. If processSynchronously is false, the method returns immediately.
Throws:
java.lang.Exception

enableAlwaysDeleteItemsInConversations

public ServiceResponseCollection<ServiceResponse> enableAlwaysDeleteItemsInConversations(java.lang.Iterable<ConversationId> conversationId,
                                                                                         boolean processSynchronously)
                                                                                  throws java.lang.Exception
Sets up a conversation so that any item received within that conversation is always moved to Deleted Items folder. Calling this method results in a call to EWS.

Parameters:
conversationId - The id of the conversation.
processSynchronously - Indicates whether the method should return only once enabling this rule and stamping existing items in the conversation is completely done. If processSynchronously is false, the method returns immediately.
Throws:
java.lang.Exception

disableAlwaysDeleteItemsInConversations

public ServiceResponseCollection<ServiceResponse> disableAlwaysDeleteItemsInConversations(java.lang.Iterable<ConversationId> conversationId,
                                                                                          boolean processSynchronously)
                                                                                   throws java.lang.Exception
Sets up a conversation so that any item received within that conversation is no longer moved to Deleted Items folder. Calling this method results in a call to EWS.

Parameters:
conversationId - The id of the conversation.
processSynchronously - Indicates whether the method should return only once enabling this rule and stamping existing items in the conversation is completely done. If processSynchronously is false, the method returns immediately.
Throws:
java.lang.Exception

enableAlwaysMoveItemsInConversations

public ServiceResponseCollection<ServiceResponse> enableAlwaysMoveItemsInConversations(java.lang.Iterable<ConversationId> conversationId,
                                                                                       FolderId destinationFolderId,
                                                                                       boolean processSynchronously)
                                                                                throws java.lang.Exception
Sets up a conversation so that any item received within that conversation is always moved to a specific folder. Calling this method results in a call to EWS.

Parameters:
conversationId - The Id of the folder to which conversation items should be moved.
destinationFolderId - The Id of the destination folder.
processSynchronously - Indicates whether the method should return only once enabling this rule and stamping existing items in the conversation is completely done. If processSynchronously is false, the method returns immediately.
Throws:
java.lang.Exception

disableAlwaysMoveItemsInConversations

public ServiceResponseCollection<ServiceResponse> disableAlwaysMoveItemsInConversations(java.lang.Iterable<ConversationId> conversationIds,
                                                                                        boolean processSynchronously)
                                                                                 throws java.lang.Exception
Sets up a conversation so that any item received within that conversation is no longer moved to a specific folder. Calling this method results in a call to EWS.

Parameters:
conversationIds - The conversation ids.
processSynchronously - Indicates whether the method should return only once disabling this rule is completely done. If processSynchronously is false, the method returns immediately.
Throws:
java.lang.Exception

moveItemsInConversations

public ServiceResponseCollection<ServiceResponse> moveItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs,
                                                                           FolderId contextFolderId,
                                                                           FolderId destinationFolderId)
                                                                    throws java.lang.Exception
Moves the items in the specified conversation to the specified destination folder. Calling this method results in a call to EWS.

Parameters:
idLastSyncTimePairs - The pairs of Id of conversation whose items should be moved and the dateTime conversation was last synced (Items received after that dateTime will not be moved).
contextFolderId - The Id of the folder that contains the conversation.
destinationFolderId - The Id of the destination folder.
Throws:
java.lang.Exception

copyItemsInConversations

public ServiceResponseCollection<ServiceResponse> copyItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs,
                                                                           FolderId contextFolderId,
                                                                           FolderId destinationFolderId)
                                                                    throws java.lang.Exception
Copies the items in the specified conversation to the specified destination folder. Calling this method results in a call to EWS.

Parameters:
idLastSyncTimePairs - The pairs of Id of conversation whose items should be copied and the dateTime conversation was last synced (Items received after that dateTime will not be copied).
contextFolderId - The context folder id.
destinationFolderId - The destination folder id.
Throws:
java.lang.Exception

deleteItemsInConversations

public ServiceResponseCollection<ServiceResponse> deleteItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs,
                                                                             FolderId contextFolderId,
                                                                             DeleteMode deleteMode)
                                                                      throws java.lang.Exception
Deletes the items in the specified conversation. Calling this method results in a call to EWS.

Parameters:
idLastSyncTimePairs - The pairs of Id of conversation whose items should be deleted and the date and time conversation was last synced (Items received after that date will not be deleted). conversation was last synced (Items received after that dateTime will not be copied).
contextFolderId - The Id of the folder that contains the conversation.
deleteMode - The deletion mode
Throws:
java.lang.Exception
java.lang.Exception

setReadStateForItemsInConversations

public ServiceResponseCollection<ServiceResponse> setReadStateForItemsInConversations(java.lang.Iterable<java.util.HashMap<ConversationId,java.util.Date>> idLastSyncTimePairs,
                                                                                      FolderId contextFolderId,
                                                                                      boolean isRead)
                                                                               throws java.lang.Exception
Sets the read state for items in conversation. Calling this mehtod would result in call to EWS.

Parameters:
idLastSyncTimePairs - The pairs of Id of conversation whose items should read state set and the date and time conversation was last synced (Items received after that date will not have their read state set). was last synced (Items received after that date will not be deleted). conversation was last synced (Items received after that dateTime will not be copied).
contextFolderId - The Id of the folder that contains the conversation.
isRead - if set to true, conversation items are marked as read; otherwise they are marked as unread.
Throws:
java.lang.Exception
java.lang.Exception

convertIds

public ServiceResponseCollection<ConvertIdResponse> convertIds(java.lang.Iterable<AlternateIdBase> ids,
                                                               IdFormat destinationFormat)
                                                        throws java.lang.Exception
* Converts multiple Ids from one format to another in a single call to EWS.

Parameters:
ids - the ids
destinationFormat - the destination format
Returns:
A ServiceResponseCollection providing conversion results for each specified Ids.
Throws:
java.lang.Exception - the exception

convertId

public AlternateIdBase convertId(AlternateIdBase id,
                                 IdFormat destinationFormat)
                          throws java.lang.Exception
* Converts Id from one format to another in a single call to EWS.

Parameters:
id - the id
destinationFormat - the destination format
Returns:
The converted Id.
Throws:
java.lang.Exception - the exception

addDelegates

public java.util.Collection<DelegateUserResponse> addDelegates(Mailbox mailbox,
                                                               MeetingRequestsDeliveryScope meetingRequestsDeliveryScope,
                                                               DelegateUser... delegateUsers)
                                                        throws java.lang.Exception
* Adds delegates to a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
meetingRequestsDeliveryScope - the meeting requests delivery scope
delegateUsers - the delegate users
Returns:
A collection of DelegateUserResponse objects providing the results of the operation.
Throws:
java.lang.Exception - the exception

addDelegates

public java.util.Collection<DelegateUserResponse> addDelegates(Mailbox mailbox,
                                                               MeetingRequestsDeliveryScope meetingRequestsDeliveryScope,
                                                               java.lang.Iterable<DelegateUser> delegateUsers)
                                                        throws java.lang.Exception
* Adds delegates to a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
meetingRequestsDeliveryScope - the meeting requests delivery scope
delegateUsers - the delegate users
Returns:
A collection of DelegateUserResponse objects providing the results of the operation.
Throws:
java.lang.Exception - the exception

updateDelegates

public java.util.Collection<DelegateUserResponse> updateDelegates(Mailbox mailbox,
                                                                  MeetingRequestsDeliveryScope meetingRequestsDeliveryScope,
                                                                  DelegateUser... delegateUsers)
                                                           throws java.lang.Exception
* Updates delegates on a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
meetingRequestsDeliveryScope - the meeting requests delivery scope
delegateUsers - the delegate users
Returns:
A collection of DelegateUserResponse objects providing the results of the operation.
Throws:
java.lang.Exception - the exception

updateDelegates

public java.util.Collection<DelegateUserResponse> updateDelegates(Mailbox mailbox,
                                                                  MeetingRequestsDeliveryScope meetingRequestsDeliveryScope,
                                                                  java.lang.Iterable<DelegateUser> delegateUsers)
                                                           throws java.lang.Exception
* Updates delegates on a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
meetingRequestsDeliveryScope - the meeting requests delivery scope
delegateUsers - the delegate users
Returns:
A collection of DelegateUserResponse objects providing the results of the operation.
Throws:
java.lang.Exception - the exception

removeDelegates

public java.util.Collection<DelegateUserResponse> removeDelegates(Mailbox mailbox,
                                                                  UserId... userIds)
                                                           throws java.lang.Exception
* Removes delegates on a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
userIds - the user ids
Returns:
A collection of DelegateUserResponse objects providing the results of the operation.
Throws:
java.lang.Exception - the exception

removeDelegates

public java.util.Collection<DelegateUserResponse> removeDelegates(Mailbox mailbox,
                                                                  java.lang.Iterable<UserId> userIds)
                                                           throws java.lang.Exception
* Removes delegates on a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
userIds - the user ids
Returns:
A collection of DelegateUserResponse objects providing the results of the operation.
Throws:
java.lang.Exception - the exception

getDelegates

public DelegateInformation getDelegates(Mailbox mailbox,
                                        boolean includePermissions,
                                        UserId... userIds)
                                 throws java.lang.Exception
* Retrieves the delegates of a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
includePermissions - the include permissions
userIds - the user ids
Returns:
A GetDelegateResponse providing the results of the operation.
Throws:
java.lang.Exception - the exception

getDelegates

public DelegateInformation getDelegates(Mailbox mailbox,
                                        boolean includePermissions,
                                        java.lang.Iterable<UserId> userIds)
                                 throws java.lang.Exception
* Retrieves the delegates of a specific mailbox. Calling this method results in a call to EWS.

Parameters:
mailbox - the mailbox
includePermissions - the include permissions
userIds - the user ids
Returns:
A GetDelegateResponse providing the results of the operation.
Throws:
java.lang.Exception - the exception

createUserConfiguration

protected void createUserConfiguration(UserConfiguration userConfiguration)
                                throws java.lang.Exception
Creates the user configuration.

Parameters:
userConfiguration - the user configuration
Throws:
java.lang.Exception - the exception

deleteUserConfiguration

protected void deleteUserConfiguration(java.lang.String name,
                                       FolderId parentFolderId)
                                throws java.lang.Exception
* Creates a UserConfiguration.

Parameters:
name - the name
parentFolderId - the parent folder id
Throws:
java.lang.Exception - the exception

getUserConfiguration

protected UserConfiguration getUserConfiguration(java.lang.String name,
                                                 FolderId parentFolderId,
                                                 UserConfigurationProperties properties)
                                          throws java.lang.Exception
* Creates a UserConfiguration.

Parameters:
name - the name
parentFolderId - the parent folder id
properties - the properties
Returns:
the user configuration
Throws:
java.lang.Exception - the exception

loadPropertiesForUserConfiguration

protected void loadPropertiesForUserConfiguration(UserConfiguration userConfiguration,
                                                  UserConfigurationProperties properties)
                                           throws java.lang.Exception
* Loads the properties of the specified userConfiguration.

Parameters:
userConfiguration - the user configuration
properties - the properties
Throws:
java.lang.Exception - the exception

updateUserConfiguration

protected void updateUserConfiguration(UserConfiguration userConfiguration)
                                throws java.lang.Exception
* Updates a UserConfiguration.

Parameters:
userConfiguration - the user configuration
Throws:
java.lang.Exception - the exception

getInboxRules

public RuleCollection getInboxRules()
                             throws java.lang.Exception
Retrieves inbox rules of the authenticated user.

Returns:
A RuleCollection object containing the authenticated users inbox rules.
Throws:
java.lang.Exception

getInboxRules

public RuleCollection getInboxRules(java.lang.String mailboxSmtpAddress)
                             throws java.lang.Exception
Retrieves the inbox rules of the specified user.

Parameters:
mailboxSmtpAddress - The SMTP address of the user whose inbox rules should be retrieved
Returns:
A RuleCollection object containing the inbox rules of the specified user.
Throws:
java.lang.Exception

updateInboxRules

public void updateInboxRules(java.lang.Iterable<RuleOperation> operations,
                             boolean removeOutlookRuleBlob)
                      throws java.lang.Exception
Updates the authenticated user's inbox rules by applying the specified operations.

Parameters:
operations - The operations that should be applied to the user's inbox rules.
removeOutlookRuleBlob - Indicate whether or not to remove Outlook Rule Blob.
Throws:
java.lang.Exception

updateInboxRules

public void updateInboxRules(java.lang.Iterable<RuleOperation> operations,
                             boolean removeOutlookRuleBlob,
                             java.lang.String mailboxSmtpAddress)
                      throws java.lang.Exception
Updates the authenticated user's inbox rules by applying the specified operations.

Parameters:
operations - The operations that should be applied to the user's inbox rules.
removeOutlookRuleBlob - Indicate whether or not to remove Outlook Rule Blob.
mailboxSmtpAddress - The SMTP address of the user whose inbox rules should be retrieved
Throws:
java.lang.Exception

autodiscoverUrl

public void autodiscoverUrl(java.lang.String emailAddress)
                     throws java.lang.Exception
Initializes the Url property to the Exchange Web Services URL for the specified e-mail address by calling the Autodiscover service.

Parameters:
emailAddress - the email address
Throws:
java.lang.Exception - the exception

autodiscoverUrl

public void autodiscoverUrl(java.lang.String emailAddress,
                            IAutodiscoverRedirectionUrl validateRedirectionUrlCallback)
                     throws java.lang.Exception
Initializes the Url property to the Exchange Web Services URL for the specified e-mail address by calling the Autodiscover service.

Parameters:
emailAddress - the email address to use.
validateRedirectionUrlCallback - The callback used to validate redirection URL
Throws:
java.lang.Exception - the exception

executeDiagnosticMethod

protected org.w3c.dom.Document executeDiagnosticMethod(java.lang.String verb,
                                                       org.w3c.dom.Node parameter)
                                                throws java.lang.Exception
Executes the diagnostic method.

Parameters:
verb - The verb.
parameter - The parameter.
Throws:
java.lang.Exception

validate

protected void validate()
                 throws ServiceLocalException
* Validates this instance.

Overrides:
validate in class ExchangeServiceBase
Throws:
ServiceLocalException - the service local exception

prepareHttpWebRequest

protected microsoft.exchange.webservices.data.HttpWebRequest prepareHttpWebRequest()
                                                                            throws ServiceLocalException,
                                                                                   java.net.URISyntaxException
Prepare http web request.

Returns:
the http web request
Throws:
ServiceLocalException - the service local exception
java.net.URISyntaxException - the uRI syntax exception

processHttpErrorResponse

protected void processHttpErrorResponse(microsoft.exchange.webservices.data.HttpWebRequest httpWebResponse,
                                        java.lang.Exception webException)
                                 throws java.lang.Exception
Processes an HTTP error response.

Specified by:
processHttpErrorResponse in class ExchangeServiceBase
Parameters:
httpWebResponse - The HTTP web response.
webException - The web exception
Throws:
java.lang.Exception

getUrl

public java.net.URI getUrl()
Gets the URL of the Exchange Web Services.

Returns:
URL of the Exchange Web Services.

setUrl

public void setUrl(java.net.URI url)
Sets the URL of the Exchange Web Services.

Parameters:
url - URL of the Exchange Web Services.

getImpersonatedUserId

public ImpersonatedUserId getImpersonatedUserId()
Gets the impersonated user id.

Returns:
the impersonated user id

setImpersonatedUserId

public void setImpersonatedUserId(ImpersonatedUserId impersonatedUserId)
Sets the impersonated user id.

Parameters:
impersonatedUserId - the new impersonated user id

getPreferredCulture

public java.util.Locale getPreferredCulture()
Gets the preferred culture.

Returns:
the preferred culture

setPreferredCulture

public void setPreferredCulture(java.util.Locale preferredCulture)
Sets the preferred culture.

Parameters:
preferredCulture - the new preferred culture

getDateTimePrecision

public DateTimePrecision getDateTimePrecision()
Gets the DateTime precision for DateTime values returned from Exchange Web Services.

Returns:
the DateTimePrecision

setDateTimePrecision

public void setDateTimePrecision(DateTimePrecision d)
Sets the DateTime precision for DateTime values Web Services.


setPreferredCulture

public void setPreferredCulture(DateTimePrecision dateTimePrecision)
Sets the DateTime precision for DateTime values returned from Exchange Web Services.

Parameters:
DateTimePrecisione - the new DateTimePrecision

getFileAttachmentContentHandler

public IFileAttachmentContentHandler getFileAttachmentContentHandler()
Gets the file attachment content handler.

Returns:
the file attachment content handler

setFileAttachmentContentHandler

public void setFileAttachmentContentHandler(IFileAttachmentContentHandler fileAttachmentContentHandler)
Sets the file attachment content handler.

Parameters:
fileAttachmentContentHandler - the new file attachment content handler

getUnifiedMessaging

public UnifiedMessaging getUnifiedMessaging()
* Provides access to the Unified Messaging functionalities.

Returns:
the unified messaging

getEnableScpLookup

public boolean getEnableScpLookup()
Gets or sets a value indicating whether the AutodiscoverUrl method should perform SCP (Service Connection Point) record lookup when determining the Autodiscover service URL.


setEnableScpLookup

public void setEnableScpLookup(boolean value)

getExchange2007CompatibilityMode

protected boolean getExchange2007CompatibilityMode()
Gets or sets a value indicating whether Exchange2007 compatibility mode is enabled. In order to support E12 servers, the Exchange2007CompatibilityMode property can be used to indicate that we should use "Exchange2007" as the server version String rather than Exchange2007_SP1.


setExchange2007CompatibilityMode

protected void setExchange2007CompatibilityMode(boolean value)

getServerTimeZones

public java.util.Collection<TimeZoneDefinition> getServerTimeZones(java.lang.Iterable<java.lang.String> timeZoneIds)
* Retrieves the definitions of the specified server-side time zones.

Parameters:
timeZoneIds - the time zone ids
Returns:
A Collection containing the definitions of the specified time zones.

getServerTimeZones

public java.util.Collection<TimeZoneDefinition> getServerTimeZones()
Retrieves the definitions of all server-side time zones.

Returns:
A Collection containing the definitions of the specified time zones.

autodiscoverRedirectionUrlValidationCallback

public boolean autodiscoverRedirectionUrlValidationCallback(java.lang.String redirectionUrl)
                                                     throws AutodiscoverLocalException
Description copied from interface: IAutodiscoverRedirectionUrl
Autodiscover redirection url validation callback.

Specified by:
autodiscoverRedirectionUrlValidationCallback in interface IAutodiscoverRedirectionUrl
Parameters:
redirectionUrl - the redirection url
Returns:
true, if successful
Throws:
AutodiscoverLocalException - the autodiscover local exception