@jaricardodev/ews-javascript-api
Version:
EWS Managed api in JavaScript
81 lines (72 loc) • 2.96 kB
text/typescript
import { ComplexProperty } from "./ComplexProperty";
import { EwsServiceXmlReader } from "../Core/EwsServiceXmlReader";
import { EwsServiceXmlWriter } from "../Core/EwsServiceXmlWriter";
import { ServiceObject } from "../Core/ServiceObjects/ServiceObject";
import { XmlAttributeNames } from "../Core/XmlAttributeNames";
/**
* Represents an entry of a DictionaryProperty object.
* @remarks All descendants of DictionaryEntryProperty must implement a parameterless constructor. That constructor does not have to be public.
* @typeparam {TKey} The type of the key used by this dictionary.
* [EditorBrowsable(EditorBrowsableState.Never)]
*/
export class DictionaryEntryProperty<TKey> extends ComplexProperty {
/** ews-javascript-api specific workaround for inheritance */
protected keyType: any;
private key: TKey = null;
/**
* Gets or sets the key.
* @value The key.
*/
get Key(): TKey {
return this.key;
}
set Key(value: TKey) {
this.key = value;
}
/**
* @internal Initializes a new instance of the **DictionaryEntryProperty<TKey>** class.
*
*/
constructor();
/**
* @internal Initializes a new instance of the **DictionaryEntryProperty<TKey>** class.
*
* @param {} key The key.
*/
constructor(key: TKey);
constructor(key?: TKey) {
super();
this.key = key;
}
/**@internal */
ReadAttributesFromXmlJsObject(reader: EwsServiceXmlReader): void { throw new Error("DictionaryEntryProperty.ts - ReadAttributesFromXml : Not used."); }
/**
* @internal Writes attributes to XML.
* @override
* @param {EwsServiceXmlWriter} writer The writer.
*/
WriteAttributesToXml(writer: EwsServiceXmlWriter): void {
writer.WriteAttributeValue(XmlAttributeNames.Key, this.keyType[this.Key]);
}
/**
* @internal Writes the delete update to XML.
* @virtual
* @param {EwsServiceXmlWriter} writer The writer.
* @param {ServiceObject} ewsObject The ews object.
* @return {boolean} True if update XML was written.
*/
WriteDeleteUpdateToXml(writer: EwsServiceXmlWriter, ewsObject: ServiceObject): boolean {
return false;
}
/**
* @internal Writes the set update to XML.
* @virtual
* @param {EwsServiceXmlWriter} writer The writer.
* @param {ServiceObject} ewsObject The ews object.
* @param {string} ownerDictionaryXmlElementName Name of the owner dictionary XML element.
* @return {boolean} True if update XML was written.
*/
WriteSetUpdateToXml(writer: EwsServiceXmlWriter, ewsObject: ServiceObject, ownerDictionaryXmlElementName: string): boolean {
return false;
}
}