Interface ISchema
The IRecordV2 schema.
Namespace: PushTechnology.ClientInterface.Data.Record.Schema
Assembly: Diffusion.Client.dll
Syntax
public interface ISchema
Remarks
A schema describes data value format in terms of one or more record definitions. A record definition describes the layout of a record and comprises one or more field definitions.
Within the data value there can be multiple occurrences of a record or field described by a single definition. The defined (or allowed, when describing variable numbers) number of occurrences of each definition is referred to as its 'multiplicity'. The multiplicity can be fixed (the item occurs a fixed number of times), or variable (the item occurs from a minimum number of times to a maximum number of times). If a variable field is used it must be the last in a record definition and if a variable record is used it must be the last in the schema definition.
A field may be defined as of type 'string', 'integer' or 'decimal'. A decimal type has a further property of 'scale' which defines the number of digits to the right of the decimal point.
Implemented in Version 6.0.
Properties
Records
Returns an immutable, ordered list of record definitions.
Declaration
IReadOnlyList<IRecord> Records { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<IRecord> | An immutable, ordered list of record definitions. |
Remarks
There will be at least one item in the list.
Methods
CreateMutableModel()
Creates a mutable model based on this schema.
Declaration
IMutableRecordModel CreateMutableModel()
Returns
Type | Description |
---|---|
IMutableRecordModel | The new initialized model based on this schema. |
Remarks
The model will be created with all mandatory record occurrences and all mandatory field occurrences initialized to default values.
Such a model may be mutated and used to generate updated IRecordV2 occurrences for updating purposes.
ToJSONString()
Returns the schema in a JSON format.
Declaration
string ToJSONString()
Returns
Type | Description |
---|---|
String | The current schema as a JSON formatted string. |