microsoft.exchange.webservices.data
Class ServiceObjectSchema

java.lang.Object
  extended by microsoft.exchange.webservices.data.ServiceObjectSchema
All Implemented Interfaces:
java.lang.Iterable<PropertyDefinition>
Direct Known Subclasses:
ConversationSchema, FolderSchema, ItemSchema

public abstract class ServiceObjectSchema
extends java.lang.Object
implements java.lang.Iterable<PropertyDefinition>

Represents the base class for all item and folder schemas.


Field Summary
static PropertyDefinition extendedProperties
          Defines the ExtendedProperties property.
 
Constructor Summary
protected ServiceObjectSchema()
          * Initializes a new instance.
 
Method Summary
protected static void addSchemaPropertiesToDictionary(java.lang.Class<?> type, java.util.Map<java.lang.String,PropertyDefinitionBase> propDefDictionary)
          Adds schema properties to dictionary.
protected static void addSchemaPropertyNamesToDictionary(java.lang.Class<?> type, java.util.Map<PropertyDefinition,java.lang.String> propertyNameDictionary)
          Adds the schema property names to dictionary.
protected static PropertyDefinitionBase findPropertyDefinition(java.lang.String uri)
          Finds the property definition.
protected  java.util.List<PropertyDefinition> getFirstClassProperties()
          * Gets the list of first class properties for this service object type.
protected  java.util.List<PropertyDefinition> getFirstClassSummaryProperties()
          * Gets the list of first class summary properties for this service object type.
protected static void initializeSchemaPropertyNames()
          Initialize schema property names.
 java.util.Iterator<PropertyDefinition> iterator()
          Returns an iterator over a set of elements of type T.
protected  void registerIndexedProperty(IndexedPropertyDefinition indexedProperty)
          Registers an indexed property.
protected  void registerInternalProperty(PropertyDefinition property)
          Registers an internal schema property.
protected  void registerProperties()
          Registers properties.
protected  void registerProperty(PropertyDefinition property)
          Registers a schema property that will be visible to developers.
protected  boolean tryGetPropertyDefinition(java.lang.String xmlElementName, OutParam<PropertyDefinition> propertyDefinitionOutParam)
          Tries to get property definition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

extendedProperties

public static final PropertyDefinition extendedProperties
Defines the ExtendedProperties property.

Constructor Detail

ServiceObjectSchema

protected ServiceObjectSchema()
* Initializes a new instance.

Method Detail

addSchemaPropertiesToDictionary

protected static void addSchemaPropertiesToDictionary(java.lang.Class<?> type,
                                                      java.util.Map<java.lang.String,PropertyDefinitionBase> propDefDictionary)
Adds schema properties to dictionary.

Parameters:
type - Schema type.
propDefDictionary - The property definition dictionary.

addSchemaPropertyNamesToDictionary

protected static void addSchemaPropertyNamesToDictionary(java.lang.Class<?> type,
                                                         java.util.Map<PropertyDefinition,java.lang.String> propertyNameDictionary)
Adds the schema property names to dictionary.

Parameters:
type - The type.
propertyNameDictionary - The property name dictionary.

findPropertyDefinition

protected static PropertyDefinitionBase findPropertyDefinition(java.lang.String uri)
Finds the property definition.

Parameters:
uri - The URI.
Returns:
Property definition.

initializeSchemaPropertyNames

protected static void initializeSchemaPropertyNames()
Initialize schema property names.


registerProperty

protected void registerProperty(PropertyDefinition property)
Registers a schema property that will be visible to developers.

Parameters:
property - The property to register.

registerInternalProperty

protected void registerInternalProperty(PropertyDefinition property)
Registers an internal schema property.

Parameters:
property - The property to register.

registerIndexedProperty

protected void registerIndexedProperty(IndexedPropertyDefinition indexedProperty)
Registers an indexed property.

Parameters:
indexedProperty - The indexed property to register.

registerProperties

protected void registerProperties()
Registers properties.


getFirstClassProperties

protected java.util.List<PropertyDefinition> getFirstClassProperties()
* Gets the list of first class properties for this service object type.

Returns:
the first class properties

getFirstClassSummaryProperties

protected java.util.List<PropertyDefinition> getFirstClassSummaryProperties()
* Gets the list of first class summary properties for this service object type.

Returns:
the first class summary properties

tryGetPropertyDefinition

protected boolean tryGetPropertyDefinition(java.lang.String xmlElementName,
                                           OutParam<PropertyDefinition> propertyDefinitionOutParam)
Tries to get property definition.

Parameters:
xmlElementName - Name of the XML element.
propertyDefinitionOutParam - The property definition.
Returns:
True if property definition exists.

iterator

public java.util.Iterator<PropertyDefinition> iterator()
Returns an iterator over a set of elements of type T.

Specified by:
iterator in interface java.lang.Iterable<PropertyDefinition>
Returns:
an Iterator.