001/* 002 * The MIT License 003 * Copyright (c) 2012 Microsoft Corporation 004 * 005 * Permission is hereby granted, free of charge, to any person obtaining a copy 006 * of this software and associated documentation files (the "Software"), to deal 007 * in the Software without restriction, including without limitation the rights 008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 009 * copies of the Software, and to permit persons to whom the Software is 010 * furnished to do so, subject to the following conditions: 011 * 012 * The above copyright notice and this permission notice shall be included in 013 * all copies or substantial portions of the Software. 014 * 015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 021 * THE SOFTWARE. 022 */ 023 024package microsoft.exchange.webservices.data.core.service.item; 025 026import microsoft.exchange.webservices.data.core.service.response.AcceptMeetingInvitationMessage; 027import microsoft.exchange.webservices.data.core.service.response.DeclineMeetingInvitationMessage; 028import microsoft.exchange.webservices.data.misc.CalendarActionResults; 029 030/** 031 * Interface defintion of a group of methods that are common to item that 032 * return CalendarActionResults. 033 */ 034public interface ICalendarActionProvider { 035 036 /** 037 * Implements the Accept method. 038 * 039 * @param sendResponse Indicates whether to send a response to the organizer. 040 * @return A CalendarActionResults object containing the various item that 041 * were created or modified as a result of this operation. 042 * @throws Exception the exception 043 */ 044 CalendarActionResults accept(boolean sendResponse) throws Exception; 045 046 /** 047 * Implements the AcceptTentatively method. 048 * 049 * @param sendResponse Indicates whether to send a response to the organizer. 050 * @return A CalendarActionResults object containing the various item that 051 * were created or modified as a result of this operation. 052 * @throws Exception the exception 053 */ 054 CalendarActionResults acceptTentatively(boolean sendResponse) 055 throws Exception; 056 057 /** 058 * Implements the Decline method. 059 * 060 * @param sendResponse Indicates whether to send a response to the organizer. 061 * @return A CalendarActionResults object containing the various item that 062 * were created or modified as a result of this operation. 063 * @throws Exception the exception 064 */ 065 CalendarActionResults decline(boolean sendResponse) throws Exception; 066 067 /** 068 * Implements the CreateAcceptMessage method. 069 * 070 * @param tentative Indicates whether the new AcceptMeetingInvitationMessage 071 * should represent a Tentative accept response (as opposed to an 072 * Accept response). 073 * @return A new AcceptMeetingInvitationMessage. 074 * @throws Exception the exception 075 */ 076 AcceptMeetingInvitationMessage createAcceptMessage(boolean tentative) 077 throws Exception; 078 079 /** 080 * Implements the DeclineMeetingInvitationMessage method. 081 * 082 * @return A new DeclineMeetingInvitationMessage. 083 * @throws Exception the exception 084 */ 085 DeclineMeetingInvitationMessage createDeclineMessage() throws Exception; 086 087}