Master Schema Specification
マスターのスキーマの仕様書
基本的なフォーマット
基本的に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 固定する値 |
無し |