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.schema; 025 026import microsoft.exchange.webservices.data.attribute.Schema; 027import microsoft.exchange.webservices.data.core.XmlElementNames; 028import microsoft.exchange.webservices.data.core.enumeration.misc.ExchangeVersion; 029import microsoft.exchange.webservices.data.core.enumeration.property.LegacyFreeBusyStatus; 030import microsoft.exchange.webservices.data.core.enumeration.service.MeetingRequestType; 031import microsoft.exchange.webservices.data.core.enumeration.property.PropertyDefinitionFlags; 032import microsoft.exchange.webservices.data.property.definition.GenericPropertyDefinition; 033import microsoft.exchange.webservices.data.property.definition.PropertyDefinition; 034 035import java.util.EnumSet; 036 037/** 038 * Represents the schema for meeting request. 039 */ 040@Schema 041public class MeetingRequestSchema extends MeetingMessageSchema { 042 043 /** 044 * Field URIs for MeetingRequest. 045 */ 046 private static interface FieldUris { 047 048 /** 049 * The Meeting request type. 050 */ 051 String MeetingRequestType = "meetingRequest:MeetingRequestType"; 052 053 /** 054 * The Intended free busy status. 055 */ 056 String IntendedFreeBusyStatus = "meetingRequest:IntendedFreeBusyStatus"; 057 } 058 059 060 /** 061 * Defines the MeetingRequestType property. 062 */ 063 public static final PropertyDefinition MeetingRequestType = 064 new GenericPropertyDefinition<microsoft.exchange.webservices.data.core.enumeration.service.MeetingRequestType>( 065 MeetingRequestType.class, 066 XmlElementNames.MeetingRequestType, FieldUris.MeetingRequestType, 067 ExchangeVersion.Exchange2007_SP1); 068 069 /** 070 * Defines the IntendedFreeBusyStatus property. 071 */ 072 public static final PropertyDefinition IntendedFreeBusyStatus = 073 new GenericPropertyDefinition<microsoft.exchange.webservices.data.core.enumeration.property.LegacyFreeBusyStatus>( 074 LegacyFreeBusyStatus.class, 075 XmlElementNames.IntendedFreeBusyStatus, 076 FieldUris.IntendedFreeBusyStatus, EnumSet 077 .of(PropertyDefinitionFlags.CanFind), 078 ExchangeVersion.Exchange2007_SP1); 079 080 /** 081 * Defines the Start property. 082 */ 083 public static final PropertyDefinition Start = AppointmentSchema.Start; 084 085 /** 086 * Defines the End property. 087 */ 088 public static final PropertyDefinition End = AppointmentSchema.End; 089 090 /** 091 * Defines the OriginalStart property. 092 */ 093 public static final PropertyDefinition OriginalStart = 094 AppointmentSchema.OriginalStart; 095 096 /** 097 * Defines the IsAllDayEvent property. 098 */ 099 public static final PropertyDefinition IsAllDayEvent = 100 AppointmentSchema.IsAllDayEvent; 101 102 /** 103 * Defines the LegacyFreeBusyStatus property. 104 */ 105 public static final PropertyDefinition LegacyFreeBusyStatus = 106 AppointmentSchema.LegacyFreeBusyStatus; 107 108 /** 109 * Defines the Location property. 110 */ 111 public static final PropertyDefinition Location = 112 AppointmentSchema.Location; 113 114 /** 115 * Defines the When property. 116 */ 117 public static final PropertyDefinition When = AppointmentSchema.When; 118 119 /** 120 * Defines the IsMeeting property. 121 */ 122 public static final PropertyDefinition IsMeeting = 123 AppointmentSchema.IsMeeting; 124 125 /** 126 * Defines the IsCancelled property. 127 */ 128 public static final PropertyDefinition IsCancelled = 129 AppointmentSchema.IsCancelled; 130 131 /** 132 * Defines the IsRecurring property. 133 */ 134 public static final PropertyDefinition IsRecurring = 135 AppointmentSchema.IsRecurring; 136 137 /** 138 * Defines the MeetingRequestWasSent property. 139 */ 140 public static final PropertyDefinition MeetingRequestWasSent = 141 AppointmentSchema.MeetingRequestWasSent; 142 143 /** 144 * Defines the AppointmentType property. 145 */ 146 public static final PropertyDefinition AppointmentType = 147 AppointmentSchema.AppointmentType; 148 149 /** 150 * Defines the MyResponseType property. 151 */ 152 public static final PropertyDefinition MyResponseType = 153 AppointmentSchema.MyResponseType; 154 155 /** 156 * Defines the Organizer property. 157 */ 158 public static final PropertyDefinition Organizer = 159 AppointmentSchema.Organizer; 160 161 /** 162 * Defines the RequiredAttendees property. 163 */ 164 public static final PropertyDefinition RequiredAttendees = 165 AppointmentSchema.RequiredAttendees; 166 167 /** 168 * Defines the OptionalAttendees property. 169 */ 170 public static final PropertyDefinition OptionalAttendees = 171 AppointmentSchema.OptionalAttendees; 172 173 /** 174 * Defines the Resources property. 175 */ 176 public static final PropertyDefinition Resources = 177 AppointmentSchema.Resources; 178 179 /** 180 * Defines the ConflictingMeetingCount property. 181 */ 182 public static final PropertyDefinition ConflictingMeetingCount = 183 AppointmentSchema.ConflictingMeetingCount; 184 185 /** 186 * Defines the AdjacentMeetingCount property. 187 */ 188 public static final PropertyDefinition AdjacentMeetingCount = 189 AppointmentSchema.AdjacentMeetingCount; 190 191 /** 192 * Defines the ConflictingMeetings property. 193 */ 194 public static final PropertyDefinition ConflictingMeetings = 195 AppointmentSchema.ConflictingMeetings; 196 197 /** 198 * Defines the AdjacentMeetings property. 199 */ 200 public static final PropertyDefinition AdjacentMeetings = 201 AppointmentSchema.AdjacentMeetings; 202 203 /** 204 * Defines the Duration property. 205 */ 206 public static final PropertyDefinition Duration = 207 AppointmentSchema.Duration; 208 209 /** 210 * Defines the TimeZone property. 211 */ 212 public static final PropertyDefinition TimeZone = 213 AppointmentSchema.TimeZone; 214 215 /** 216 * Defines the AppointmentReplyTime property. 217 */ 218 public static final PropertyDefinition AppointmentReplyTime = 219 AppointmentSchema.AppointmentReplyTime; 220 221 /** 222 * Defines the AppointmentSequenceNumber property. 223 */ 224 public static final PropertyDefinition AppointmentSequenceNumber = 225 AppointmentSchema.AppointmentSequenceNumber; 226 227 /** 228 * Defines the AppointmentState property. 229 */ 230 public static final PropertyDefinition AppointmentState = 231 AppointmentSchema.AppointmentState; 232 233 /** 234 * Defines the Recurrence property. 235 */ 236 public static final PropertyDefinition Recurrence = 237 AppointmentSchema.Recurrence; 238 239 /** 240 * Defines the FirstOccurrence property. 241 */ 242 public static final PropertyDefinition FirstOccurrence = 243 AppointmentSchema.FirstOccurrence; 244 /** 245 * Defines the LastOccurrence property. 246 */ 247 public static final PropertyDefinition LastOccurrence = 248 AppointmentSchema.LastOccurrence; 249 250 /** 251 * Defines the ModifiedOccurrences property. 252 */ 253 public static final PropertyDefinition ModifiedOccurrences = 254 AppointmentSchema.ModifiedOccurrences; 255 256 /** 257 * Defines the Duration property. 258 */ 259 public static final PropertyDefinition DeletedOccurrences = 260 AppointmentSchema.DeletedOccurrences; 261 262 /** 263 * Defines the MeetingTimeZone property. 264 */ 265 static final PropertyDefinition MeetingTimeZone = 266 AppointmentSchema.MeetingTimeZone; 267 268 /** 269 * Defines the StartTimeZone property. 270 */ 271 public static final PropertyDefinition StartTimeZone = 272 AppointmentSchema.StartTimeZone; 273 274 /** 275 * Defines the EndTimeZone property. 276 */ 277 public static final PropertyDefinition EndTimeZone = 278 AppointmentSchema.EndTimeZone; 279 280 /** 281 * Defines the ConferenceType property. 282 */ 283 public static final PropertyDefinition ConferenceType = 284 AppointmentSchema.ConferenceType; 285 286 /** 287 * Defines the AllowNewTimeProposal property. 288 */ 289 public static final PropertyDefinition AllowNewTimeProposal = 290 AppointmentSchema.AllowNewTimeProposal; 291 292 /** 293 * Defines the IsOnlineMeeting property. 294 */ 295 public static final PropertyDefinition IsOnlineMeeting = 296 AppointmentSchema.IsOnlineMeeting; 297 298 /** 299 * Defines the MeetingWorkspaceUrl property. 300 */ 301 public static final PropertyDefinition MeetingWorkspaceUrl = 302 AppointmentSchema.MeetingWorkspaceUrl; 303 304 /** 305 * Defines the NetShowUrl property. 306 */ 307 public static final PropertyDefinition NetShowUrl = 308 AppointmentSchema.NetShowUrl; 309 310 /** 311 * This must be after the declaration of property definitions. 312 */ 313 public static final MeetingRequestSchema Instance = 314 new MeetingRequestSchema(); 315 316 /** 317 * Registers property. 318 * <p/> 319 * IMPORTANT NOTE: PROPERTIES MUST BE REGISTERED IN SCHEMA ORDER (i.e. the 320 * same order as they are defined in types.xsd) 321 */ 322 @Override 323 protected void registerProperties() { 324 super.registerProperties(); 325 326 this.registerProperty(MeetingRequestType); 327 this.registerProperty(IntendedFreeBusyStatus); 328 329 this.registerProperty(Start); 330 this.registerProperty(End); 331 this.registerProperty(OriginalStart); 332 this.registerProperty(IsAllDayEvent); 333 this.registerProperty(LegacyFreeBusyStatus); 334 this.registerProperty(Location); 335 this.registerProperty(When); 336 this.registerProperty(IsMeeting); 337 this.registerProperty(IsCancelled); 338 this.registerProperty(IsRecurring); 339 this.registerProperty(MeetingRequestWasSent); 340 this.registerProperty(AppointmentType); 341 this.registerProperty(MyResponseType); 342 this.registerProperty(Organizer); 343 this.registerProperty(RequiredAttendees); 344 this.registerProperty(OptionalAttendees); 345 this.registerProperty(Resources); 346 this.registerProperty(ConflictingMeetingCount); 347 this.registerProperty(AdjacentMeetingCount); 348 this.registerProperty(ConflictingMeetings); 349 this.registerProperty(AdjacentMeetings); 350 this.registerProperty(Duration); 351 this.registerProperty(TimeZone); 352 this.registerProperty(AppointmentReplyTime); 353 this.registerProperty(AppointmentSequenceNumber); 354 this.registerProperty(AppointmentState); 355 this.registerProperty(Recurrence); 356 this.registerProperty(FirstOccurrence); 357 this.registerProperty(LastOccurrence); 358 this.registerProperty(ModifiedOccurrences); 359 this.registerProperty(DeletedOccurrences); 360 this.registerInternalProperty(MeetingTimeZone); 361 this.registerProperty(StartTimeZone); 362 this.registerProperty(EndTimeZone); 363 this.registerProperty(ConferenceType); 364 this.registerProperty(AllowNewTimeProposal); 365 this.registerProperty(IsOnlineMeeting); 366 this.registerProperty(MeetingWorkspaceUrl); 367 this.registerProperty(NetShowUrl); 368 } 369 370 /** 371 * Initializes a new instance of the class. 372 */ 373 protected MeetingRequestSchema() { 374 super(); 375 } 376}