public interface Schema
RecordV2 schema.

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.

Since:
6.0
Author:
DiffusionData Limited
  • Method Details

    • getRecords

      List<Schema.Record> getRecords()
      Returns an immutable, ordered list of record definitions.

      There will be at least one.

      Returns:
      a list of the record definitions in the schema
    • createMutableModel

      MutableRecordModel createMutableModel()
      Create a mutable model based upon the schema.

      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 RecordV2 occurrences for updating purposes.

      Returns:
      a new initialized model
    • asJSONString

      String asJSONString()
      Returns the schema in a JSON format.
      Returns:
      schema in JSON string format