Projekt

Obecné

Profil

Stáhnout (4.38 KB) Statistiky
| Větev: | Tag: | Revize:
1
{
2
	"$schema": "http://json-schema.org/draft-07/schema#",
3
	"$id": "http://example.com/product.schema.json",
4
	"title": "IMiGEr - raw input schema",
5
	"description": "Diagram displayable by IMiGEr tool using raw input",
6
	"type": "object",
7
	"properties": {
8
		"attributeTypes": {
9
			"type": "array",
10
			"items": {
11
				"type": "object",
12
				"properties": {
13
					"dataType": {
14
						"type": "string"
15
					},
16
					"name": {
17
						"type": "string"
18
					},
19
					"text": {
20
						"type": "string"
21
					}
22
				},
23
				"required": [ "dataType", "name" ]
24
			},
25
			"minItems": 1,
26
			"uniqueItems": true
27
		},
28
		"edgeArchetypes": {
29
			"type": "array",
30
			"items": {
31
				"type": "object",
32
				"properties": {
33
					"name": {
34
						"type": "string"
35
					},
36
					"text": {
37
						"type": "string"
38
					}
39
				},
40
				"required": [ "name" ]
41
			},
42
			"minItems": 1,
43
			"uniqueItems": true
44
		},
45
		"vertexArchetypes": {
46
			"type": "array",
47
			"items": {
48
				"type": "object",
49
				"properties": {
50
					"icon": {
51
						"type": "string"
52
					},
53
					"name": {
54
						"type": "string"
55
					},
56
					"text": {
57
						"type": "string"
58
					}
59
				},
60
				"required": [ "name" ]
61
			},
62
			"minItems": 1,
63
			"uniqueItems": true
64
		},
65
		"vertices": {
66
			"type": "array",
67
			"items": {
68
				"type": "object",
69
				"properties": {
70
					"archetype": {
71
						"type": "integer",
72
						"minimum": 0
73
					},
74
					"attributes": {
75
						"type": "array",
76
						"items": {
77
							"type": "array",
78
							"minItems": 2,
79
							"maxItems": 2
80
						}
81
					},
82
					"id": {
83
						"type": "integer"
84
					},
85
					"name": {
86
						"type": "string"
87
					},
88
					"text": {
89
						"type": "string"
90
					},
91
					"position": {
92
						"anyOf": [
93
							{
94
								"type": "object",
95
								"properties": {
96
									"x": {
97
										"type": "number"
98
									},
99
									"y": {
100
										"type": "number"
101
									}
102
								},
103
								"required": [ "x", "y" ]
104
							}, {
105
								"type": "null"
106
							}
107
						]
108
					}
109
				},
110
				"required": [ "id", "name" ]
111
			},
112
			"minItems": 1,
113
			"uniqueItems": true
114
		},
115
		"edges": {
116
			"type": "array",
117
			"items": {
118
				"type": "object",
119
				"properties": {
120
					"subedgeInfo": {
121
						"type": "array",
122
						"items": {
123
							"type": "object",
124
							"properties": {
125
								"id": {
126
									"type": "integer"
127
								},
128
								"archetype": {
129
									"type": "integer",
130
									"minimum": 0
131
								},
132
								"attributes": {
133
									"type": "array",
134
									"items": {
135
										"type": "array",
136
										"minItems": 2,
137
										"maxItems": 2
138
									}
139
								}
140
							},
141
							"required": [ "id", "archetype", "attributes" ]
142
						}
143
					},
144
					"id": {
145
						"type": "integer"
146
					},
147
					"text": {
148
						"type": "string"
149
					},
150
					"from": {
151
						"type": "integer"
152
					},
153
					"to": {
154
						"type": "integer"
155
					}
156
				},
157
				"required": [ "subedgeInfo", "id", "from", "to" ]
158
			},
159
			"minItems": 1,
160
			"uniqueItems": true
161
		},
162
		"possibleEnumValues": {
163
			"type": "object"
164
		},
165
		"groups": {
166
			"type": "array",
167
			"items": {
168
				"type": "object",
169
				"properties": {
170
					"id": {
171
						"type": "integer"
172
					},
173
					"name": {
174
						"type": "string"
175
					},
176
					"verticesId": {
177
						"type": "array",
178
						"items": {
179
							"type": "integer"
180
						},
181
						"minItems": 1
182
					},
183
					"verticesEdgeFromId": {
184
						"type": "array",
185
						"items": {
186
							"type": "integer"
187
						}
188
					},
189
					"verticesEdgeToId": {
190
						"type": "array",
191
						"items": {
192
							"type": "integer"
193
						}
194
					},
195
					"position": {
196
						"anyOf": [
197
							{
198
								"type": "object",
199
								"properties": {
200
									"x": {
201
										"type": "number"
202
									},
203
									"y": {
204
										"type": "number"
205
									}
206
								},
207
								"required": [ "x", "y" ]
208
							}, {
209
								"type": "null"
210
							}
211
						]
212
					}
213
				},
214
				"required": [ "id", "name", "verticesId" ]
215
			},
216
			"uniqueItems": true
217
		},
218
		"sideBar": {
219
			"type": "array",
220
			"items": {
221
				"type": "object",
222
				"properties": {
223
					"id": {
224
						"type": "string",
225
						"pattern": "^(group|vertex)-[0-9]+$"
226
					},
227
					"isIconsDisplayed": {
228
						"type": "boolean"
229
					}
230
				},
231
				"required": [ "id", "isIconsDisplayed" ]
232
			},
233
			"uniqueItems": true
234
		},
235
		"highlightedVertex": {
236
			"type": "string"
237
		},
238
		"highlightedEdge": {
239
			"type": "string"
240
		}
241
	},
242
	"required": [ "attributeTypes", "edgeArchetypes", "vertexArchetypes", "vertices", "edges", "possibleEnumValues", "groups", "sideBar", "highlightedVertex", "highlightedEdge" ]
243
}
(1-1/6)