![]() |
Diffusion .NET Classic API - Core and Common
5.9.4
|
Base implementation of IMRecord. More...
Public Member Functions | |
override string | ToString () |
Returns this object as a human-readable string. More... | |
IMRecord | AddRecord (string name) |
Adds a new child record with default multiplicity. More... | |
IMRecord | AddRecord (string name, Multiplicity multiplicity) |
Adds a new child record. More... | |
IMField | AddField (string name) |
Adds a new child field with default multiplicity and data type. More... | |
IMField | AddField (string name, Multiplicity multiplicity) |
Adds a new child field with default data type. More... | |
IMField | AddField (string name, MDataType dataType) |
Adds a new child field with default multiplicity. More... | |
IMField | AddField (string name, MDataType dataType, Multiplicity multiplicity) |
Adds a new child field. More... | |
IMField | AddCustomField (string name, Multiplicity multiplicity, ICustomFieldHandler handler) |
Adds a new child field with custom data type. More... | |
IMField | AddCustomField (string name, Multiplicity multiplicity, string handler) |
Adds a new child field with custom data type. More... | |
IMRecord | GetRecord (string name) |
Gets a child record by name. More... | |
IMField | GetField (string name) |
Gets a child field by name. More... | |
IMNode | GetChild (int index) |
Gets the child at a given index. More... | |
int | GetChildIndex (string name) |
Get the index of the named child. More... | |
MNodeImpl | LastChild () |
Return the last child of this record, or null if no children. More... | |
MNodeImpl | ChildBefore (MNodeImpl child) |
Return the child before the specified child, or null if none. More... | |
MNodeImpl | ChildAfter (MNodeImpl child) |
Return the child after the specified child, or null if none. More... | |
![]() | |
void | GetObjectData (SerializationInfo info, StreamingContext context) |
Populates a T:System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object. More... | |
virtual XmlNode | ToXmlObject () |
Convert this object into a proxy object suitable for serialization. More... | |
Protected Member Functions | |
MRecordImpl (string name, MRecordImpl parent, Multiplicity multiplicity) | |
Constructor. More... | |
abstract void | CheckAddRecord (string name, Multiplicity multiplicity) |
Check that a specified record can be added. More... | |
abstract MRecordImpl | CreateRecord (string name, Multiplicity multiplicity) |
Child a child record. More... | |
abstract void | CheckAddField (string name, MDataType dataType, Multiplicity multiplicity) |
Check that a specified field can be added. More... | |
abstract MFieldImpl | CreateField (string name, MDataType dataType, Multiplicity multiplicity) |
Create a field. More... | |
![]() | |
MNodeImpl (string name, MRecordImpl parent, Multiplicity multiplicity) | |
Constructor. More... | |
Properties | |
abstract Multiplicity | DefaultChildMultiplicity [get] |
Returns the implementation specific default multiplicity. More... | |
MDataType | DefaultDataType [get] |
override bool | IsRecord [get, set] |
Indicates whether the node is a record. Returns true if the node is a record (an instance of IMRecord). Note that a message (instance of IMMessage) is considered to be a record. More... | |
override bool | IsField [get, set] |
Indicates whether the node is a field. Returns true if the node is a field (an instance of IMField). More... | |
override bool | IsMessage [get, set] |
Indicates whether the node is a top level message. Returns true if the node is a message (an instance of IMMessage). More... | |
List< IMNode > | ChildNodes [get] |
Returns a list of the children of the record. More... | |
int | ChildCount [get] |
Returns the number of child nodes defined. More... | |
![]() | |
string | Name [get, set] |
Returns the node name. More... | |
string | FullName [get] |
Returns the full name of the node defining its hierarchy, with node elements separated by '.'. More... | |
virtual bool | IsField [get, set] |
Indicates whether the node is a field. Returns true if the node is a field (an instance of IMField). More... | |
virtual bool | IsRecord [get, set] |
Indicates whether the node is a record. Returns true if the node is a record (an instance of IMRecord). Note that a message (instance of IMMessage) is considered to be a record. More... | |
virtual bool | IsMessage [get, set] |
Indicates whether the node is a top level message. Returns true if the node is a message (an instance of IMMessage). More... | |
Multiplicity | Multiplicity [get, set] |
Returns the node's multiplicity within its parent. Returns the node's multiplicity. Note that though an IMMessage has no parent, this will return a value of singleRequired for a message. More... | |
IMRecord | Parent [get, set] |
Returns the parent record (or message). More... | |
IMMessage | Message [get] |
Returns the root message. More... | |
![]() | |
string | Name [get] |
Returns the node name. More... | |
string | FullName [get] |
Returns the full name of the node defining its hierarchy, with node elements separated by '.'. More... | |
bool | IsField [get] |
Indicates whether the node is a field. Returns true if the node is a field (an instance of IMField). More... | |
bool | IsRecord [get] |
Indicates whether the node is a record. Returns true if the node is a record (an instance of IMRecord). Note that a message (instance of IMMessage) is considered to be a record. More... | |
bool | IsMessage [get] |
Indicates whether the node is a top level message. Returns true if the node is a message (an instance of IMMessage). More... | |
Multiplicity | Multiplicity [get] |
Returns the node's multiplicity within its parent. Returns the node's multiplicity. Note that though an IMMessage has no parent, this will return a value of singleRequired for a message. More... | |
IMRecord | Parent [get] |
Returns the parent record (or message). More... | |
IMMessage | Message [get] |
Returns the root message. More... | |
![]() | |
List< IMNode > | ChildNodes [get] |
Returns a list of the children of the record. More... | |
int | ChildCount [get] |
Returns the number of child nodes defined. More... | |
Base implementation of IMRecord.
Implementation records must extend this (but NOT implementation messages which must extend MMessageImpl.
|
protected |
Constructor.
name | |
parent | |
multiplicity |
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddCustomField | ( | string | name, |
Multiplicity | multiplicity, | ||
ICustomFieldHandler | handler | ||
) |
Adds a new child field with custom data type.
name | The name of the child field. |
multiplicity | The multiplicity of the child field within this record. |
handler | A custom field handler that defines the behaviour of the custom data type. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddCustomField | ( | string | name, |
Multiplicity | multiplicity, | ||
string | handler | ||
) |
Adds a new child field with custom data type.
name | The name of the child field. |
multiplicity | The multiplicity of the child field within this record. |
handler | The class name of a custom field handler that defines the behaviour of the custom data type. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddField | ( | string | name | ) |
Adds a new child field with default multiplicity and data type.
name | The name of the child field. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddField | ( | string | name, |
Multiplicity | multiplicity | ||
) |
Adds a new child field with default data type.
name | The name of the child field. |
multiplicity | The multiplicity of the child field within this record. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddField | ( | string | name, |
MDataType | dataType | ||
) |
Adds a new child field with default multiplicity.
Default multiplicity may vary by implementation but is typically singleRequired.
name | The name of the child field. |
dataType | THe data type of the child field. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddField | ( | string | name, |
MDataType | dataType, | ||
Multiplicity | multiplicity | ||
) |
Adds a new child field.
name | The name of the child field. |
dataType | The data type of the child field. |
multiplicity | The multiplicity of the child field within this record. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMRecord PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddRecord | ( | string | name | ) |
Adds a new child record with default multiplicity.
Default multiplicity may vary by implementation but is typically singleRequired.
name | The name of the child record. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMRecord PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.AddRecord | ( | string | name, |
Multiplicity | multiplicity | ||
) |
Adds a new child record.
name | The name of the child record. |
multiplicity | The multiplicity of the child record within this record. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
|
protectedpure virtual |
Check that a specified field can be added.
name | |
dataType | |
multiplicity |
Implemented in PushTechnology.DiffusionCore.Messaging.Data.metadata.MMessageImpl, PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordRecord, and PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordMessage.
|
protectedpure virtual |
Check that a specified record can be added.
name | |
multiplicity |
Implemented in PushTechnology.DiffusionCore.Messaging.Data.metadata.MMessageImpl, PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordMessage, and PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordRecord.
MNodeImpl PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.ChildAfter | ( | MNodeImpl | child | ) |
Return the child after the specified child, or null if none.
child |
MNodeImpl PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.ChildBefore | ( | MNodeImpl | child | ) |
Return the child before the specified child, or null if none.
child |
|
protectedpure virtual |
Create a field.
name | Already non-null and validated for duplicate etc. |
dataType | Will never be 'None'. |
multiplicity | Will never be null. |
Implemented in PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordRecord, PushTechnology.DiffusionCore.Messaging.Data.metadata.MMessageImpl, and PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordMessage.
|
protectedpure virtual |
Child a child record.
This is implementation specific and must create the implementation concrete record. It must also validate whether creating a record as specified is allowed. It does not need to check for duplicate names.
name | Non-null and validated record name. |
multiplicity | Will never be null but must be validated. |
Implemented in PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordMessage, PushTechnology.DiffusionCore.Messaging.Data.metadata.MMessageImpl, and PushTechnology.DiffusionCore.Messaging.Data.metadata.record.MRecordRecord.
IMNode PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.GetChild | ( | int | index | ) |
Gets the child at a given index.
index | The index. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
int PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.GetChildIndex | ( | string | name | ) |
Get the index of the named child.
name |
IMField PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.GetField | ( | string | name | ) |
Gets a child field by name.
name | The field name. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
IMRecord PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.GetRecord | ( | string | name | ) |
Gets a child record by name.
name | The record name. |
Implements PushTechnology.DiffusionCore.Messaging.Data.metadata.IMRecord.
MNodeImpl PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.LastChild | ( | ) |
Return the last child of this record, or null if no children.
override string PushTechnology.DiffusionCore.Messaging.Data.metadata.MRecordImpl.ToString | ( | ) |
Returns this object as a human-readable string.
|
get |
Returns the number of child nodes defined.
|
get |
Returns a list of the children of the record.
|
getprotected |
Returns the implementation specific default multiplicity.
|
getprotected |
|
getset |
Indicates whether the node is a field. Returns true if the node is a field (an instance of IMField).
|
getset |
Indicates whether the node is a top level message. Returns true if the node is a message (an instance of IMMessage).