「Master Schema Specification」の版間の差分

提供:moorestechWiki
ナビゲーションに移動 検索に移動
ページの作成:「マスターのスキーマの仕様書」
 
編集の要約なし
1行目: 1行目:
マスターのスキーマの仕様書
マスターのスキーマの仕様書
== 基本的なフォーマット ==
基本的にroot要素にdataの配列が来るものとする。
<pre>
id: idName
type: object
isDefaultOpen: true
properties:
- key: data
  type: array
  overrideCodeGeneratePropertyName: OverrideName
  items:
    type: object
    properties:
    - key: masterId
      type: uuid
      autoGenerated: true
</pre>
== 各プロパティの詳細 ==
=== 基本のプロパティ ===
{| class="wikitable"
|+
!プロパティ名
!説明
!プロパティの型
!フォーマット
!エディタ上の挙動
!コード生成時の挙動
|-
|id
|そのスキーマのid
|string
|任意の文字列
|
|
|-
|key
|その要素の名前
|string
|任意の文字列
|
|
|-
|type
|その要素の型
|string
|array, object, string, number, integer, boolean,
uuid, vecotr2, vecotr3, vecotr4, vecotr2Int, vecotr3Int, vecotr4Int
|
|
|-
|properties
|object型の中に入っている要素を列挙する。
|object array
|各要素はkeyがMUST。typeかrefのどちらかMUST
|
|
|-
|items
|array型の型を定義する。
|object
|typeとそのタイプの定義に必要な付随要素
|
|
|-
|autoGenerated
|uuid専用、エディタ上でuuidを自動生成する。
|boolean
|
|
|
|-
|foreignKey
|外部キーとなる要素を指定する。
|object
|schemaId, keyPath, displayElementPathの3要素のobject型
パスは絶対パス固定?
|
|
|-
|optional
|その要素がnullもしくは要素無しでも良いか。
|boolean
|
|
|
|-
|default
|その要素のエディタ上でのデフォルト値を指定する。
|typeによる
|
|
|
|-
|enum
|string要素をいくつかの値に固定する。
|string array
|
|
|
|-
|ref
|他のスキーマをインポートする
|string
|スキーマIDを指定する
|
|
|}
=== 旧OneOf関連 ===
{| class="wikitable"
|+
!プロパティ名
!説明
!プロパティの型
!フォーマット
!エディタ上の挙動
!コード生成時の挙動
|-
|switch
|要素の値ごとのスキーマを変更するとき、その要素のパスを指定する
caseとセットで使う。
|string
|絶対パス or 相対パス
指定出来るタイプはstring, number, integer, boolean
|
|
|-
|case
|switchで指定した要素でどのスキーマに分岐するかを記述する。
switchとセットで使う。
|object array
|when, typeがMUST
|
|
|-
|when
|case内で、そのスキーマとなる値を設定する。
|switchで指定したタイプによる
|
|
|
|}
=== エディタ、コード生成関連 ===
{| class="wikitable"
!プロパティ名
!説明
!プロパティの型
!フォーマット
!エディタ上の挙動
!コード生成時の挙動
|-
|isDefaultOpen
|その要素を表示時に展開しておくか
|boolean
|
|
|
|-
|overrideCodeGeneratePropertyName
|コードジェネレート時のプロパティ、クラス名を上書きする
|string
|任意の文字列
|
|
|}
=== 新規プロパティ ===
{| class="wikitable"
!プロパティ名
!説明
!プロパティの型
!フォーマット
!エディタ上の挙動
!コード生成時の挙動
|-
|fixedParameter
|パスで指定した要素を特定の値に固定する
|object
|path 指定する要素のパス
value 固定する値
|
|無し
|}
== 現在の仕様でパスを使っている箇所 ==

2024年10月11日 (金) 22:32時点における版

マスターのスキーマの仕様書

基本的なフォーマット

基本的にroot要素にdataの配列が来るものとする。

id: idName
type: object
isDefaultOpen: true
properties:
- key: data
  type: array
  overrideCodeGeneratePropertyName: OverrideName
  items:
    type: object
    properties:
    - key: masterId
      type: uuid
      autoGenerated: true

各プロパティの詳細

基本のプロパティ

プロパティ名 説明 プロパティの型 フォーマット エディタ上の挙動 コード生成時の挙動
id そのスキーマのid string 任意の文字列
key その要素の名前 string 任意の文字列
type その要素の型 string array, object, string, number, integer, boolean,

uuid, vecotr2, vecotr3, vecotr4, vecotr2Int, vecotr3Int, vecotr4Int

properties object型の中に入っている要素を列挙する。 object array 各要素はkeyがMUST。typeかrefのどちらかMUST
items array型の型を定義する。 object typeとそのタイプの定義に必要な付随要素
autoGenerated uuid専用、エディタ上でuuidを自動生成する。 boolean
foreignKey 外部キーとなる要素を指定する。 object schemaId, keyPath, displayElementPathの3要素のobject型

パスは絶対パス固定?

optional その要素がnullもしくは要素無しでも良いか。 boolean
default その要素のエディタ上でのデフォルト値を指定する。 typeによる
enum string要素をいくつかの値に固定する。 string array
ref 他のスキーマをインポートする string スキーマIDを指定する

旧OneOf関連

プロパティ名 説明 プロパティの型 フォーマット エディタ上の挙動 コード生成時の挙動
switch 要素の値ごとのスキーマを変更するとき、その要素のパスを指定する

caseとセットで使う。

string 絶対パス or 相対パス

指定出来るタイプはstring, number, integer, boolean

case switchで指定した要素でどのスキーマに分岐するかを記述する。

switchとセットで使う。

object array when, typeがMUST
when case内で、そのスキーマとなる値を設定する。 switchで指定したタイプによる

エディタ、コード生成関連

プロパティ名 説明 プロパティの型 フォーマット エディタ上の挙動 コード生成時の挙動
isDefaultOpen その要素を表示時に展開しておくか boolean
overrideCodeGeneratePropertyName コードジェネレート時のプロパティ、クラス名を上書きする string 任意の文字列

新規プロパティ

プロパティ名 説明 プロパティの型 フォーマット エディタ上の挙動 コード生成時の挙動
fixedParameter パスで指定した要素を特定の値に固定する object path 指定する要素のパス

value 固定する値

無し


現在の仕様でパスを使っている箇所