microsoft.exchange.webservices.data.ServiceObjectSchema Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of exchange-ws-api Show documentation
Show all versions of exchange-ws-api Show documentation
The source came from http://archive.msdn.microsoft.com/ewsjavaapi
Support for Maven has been added.
The newest version!
/**************************************************************************
* copyright file="ServiceObjectSchema.java" company="Microsoft"
* Copyright (c) Microsoft Corporation. All rights reserved.
*
* Defines the ServiceObjectSchema.java.
**************************************************************************/
package microsoft.exchange.webservices.data;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* Represents the base class for all item and folder schemas.
*
*/
@EditorBrowsable(state = EditorBrowsableState.Never)
public abstract class ServiceObjectSchema implements
Iterable {
/** The lock object. */
private static Object lockObject = new Object();
/***
* List of all schema types. If you add a new ServiceObject subclass that
* has an associated schema, add the schema type to the list below.
*/
private static LazyMember>> allSchemaTypes = new
LazyMember>>(new
ILazyMember>>() {
public java.util.List> createInstance() {
List> typeList = new ArrayList>();
// typeList.add()
/*
* typeList.add(AppointmentSchema.class);
* typeList.add(CalendarResponseObjectSchema.class);
* typeList.add(CancelMeetingMessageSchema.class);
* typeList.add(ContactGroupSchema.class);
* typeList.add(ContactSchema.class);
* typeList.add(EmailMessageSchema.class);
* typeList.add(FolderSchema.class);
* typeList.add(ItemSchema.class);
* typeList.add(MeetingMessageSchema.class);
* typeList.add(MeetingRequestSchema.class);
* typeList.add(PostItemSchema.class);
* typeList.add(PostReplySchema.class);
* typeList.add(ResponseMessageSchema.class);
* typeList.add(ResponseObjectSchema.class);
* typeList.add(ServiceObjectSchema.class);
* typeList.add(SearchFolderSchema.class);
* typeList.add(TaskSchema.class);
*/
// Verify that all Schema types in the Managed API assembly
// have been included.
/*
* var missingTypes = from type in
* Assembly.GetExecutingAssembly().GetTypes() where
* type.IsSubclassOf(typeof(ServiceObjectSchema)) &&
* !typeList.Contains(type) select type; if
* (missingTypes.Count() > 0) { throw new
* ServiceLocalException
* ("SchemaTypeList does not include all
* defined schema types."
* ); }
*/
return typeList;
};
});
/***
* Dictionary of all property definitions.
*/
private static LazyMember