Table of Contents

Interface ISchema

Namespace
PushTechnology.ClientInterface.Data.Record.Schema
Assembly
Diffusion.Client.dll

The IRecordV2 schema.

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.

IReadOnlyList<IRecord> Records { get; }

Property Value

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.

IMutableRecordModel CreateMutableModel()

Returns

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.

string ToJSONString()

Returns

string

The current schema as a JSON formatted string.