「Master Schema Specification」の版間の差分
ナビゲーションに移動
検索に移動
Sakastudio (トーク | 投稿記録) ページの作成:「マスターのスキーマの仕様書」 |
Sakastudio (トーク | 投稿記録) 編集の要約なし |
||
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 固定する値 |
無し |