Projekt

Obecné

Profil

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