-
Notifications
You must be signed in to change notification settings - Fork 4
/
JSON.AttachableList.pas
256 lines (212 loc) · 6.66 KB
/
JSON.AttachableList.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
unit JSON.AttachableList;
// *************************************************
// Generated By: JsonToDelphiClass - 0.65
// Project link: https://github.com/PKGeorgiev/Delphi-JsonToDelphiClass
// Generated On: 2019-05-22 20:21:59
// *************************************************
// Created By : Petar Georgiev - 2014
// WebSite : http://pgeorgiev.com
// *************************************************
interface
uses
Generics.Collections
, Rest.Json
, REST.JSON.Types
;
type
TEntityRefClass = class
private
FType: String;
FValue: String;
public
property &type: String read FType write FType;
property value: String read FValue write FValue;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TEntityRefClass;
end;
TAttachableRefClass = class
private
[JSONName('EntityRef')]
FEntityRef: TEntityRefClass;
[JSONName('IncludeOnSend')]
FIncludeOnSend: Boolean;
public
property EntityRef: TEntityRefClass read FEntityRef write FEntityRef;
property IncludeOnSend: Boolean read FIncludeOnSend write FIncludeOnSend;
constructor Create;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TAttachableRefClass;
end;
TMetaDataClass = class
private
FCreateTime: String;
FLastUpdatedTime: String;
public
property CreateTime: String read FCreateTime write FCreateTime;
property LastUpdatedTime: String read FLastUpdatedTime write FLastUpdatedTime;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TMetaDataClass;
end;
TAttachableClass = class
private
[JSONName('AttachableRef')]
FAttachableRef: TArray<TAttachableRefClass>;
[JSONName('ContentType')]
FContentType: String;
[JSONName('FileAccessUri')]
FFileAccessUri: String;
[JSONName('FileName')]
FFileName: String;
[JSONName('Id')]
FId: String;
[JSONName('MetaData')]
FMetaData: TMetaDataClass;
[JSONName('Size')]
FSize: Extended;
[JSONName('SyncToken')]
FSyncToken: String;
[JSONName('TempDownloadUri')]
FTempDownloadUri: String;
FDomain: String;
FSparse: Boolean;
public
property AttachableRef: TArray<TAttachableRefClass> read FAttachableRef write FAttachableRef;
property ContentType: String read FContentType write FContentType;
property FileAccessUri: String read FFileAccessUri write FFileAccessUri;
property FileName: String read FFileName write FFileName;
property Id: String read FId write FId;
property MetaData: TMetaDataClass read FMetaData write FMetaData;
property Size: Extended read FSize write FSize;
property SyncToken: String read FSyncToken write FSyncToken;
property TempDownloadUri: String read FTempDownloadUri write FTempDownloadUri;
property domain: String read FDomain write FDomain;
property sparse: Boolean read FSparse write FSparse;
constructor Create;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TAttachableClass;
end;
TQueryResponseClass = class
private
FAttachable: TArray<TAttachableClass>;
FMaxResults: Extended;
FStartPosition: Extended;
public
property Attachable: TArray<TAttachableClass> read FAttachable write FAttachable;
property maxResults: Extended read FMaxResults write FMaxResults;
property startPosition: Extended read FStartPosition write FStartPosition;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TQueryResponseClass;
end;
TJSONAttachableListClass = class
private
FQueryResponse: TQueryResponseClass;
FTime: String;
public
property QueryResponse: TQueryResponseClass read FQueryResponse write FQueryResponse;
property time: String read FTime write FTime;
constructor Create;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TJSONAttachableListClass;
end;
implementation
{TEntityRefClass}
function TEntityRefClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TEntityRefClass.FromJsonString(AJsonString: string): TEntityRefClass;
begin
result := TJson.JsonToObject<TEntityRefClass>(AJsonString)
end;
{TAttachableRefClass}
constructor TAttachableRefClass.Create;
begin
inherited;
FEntityRef := TEntityRefClass.Create();
end;
destructor TAttachableRefClass.Destroy;
begin
FEntityRef.free;
inherited;
end;
function TAttachableRefClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TAttachableRefClass.FromJsonString(AJsonString: string): TAttachableRefClass;
begin
result := TJson.JsonToObject<TAttachableRefClass>(AJsonString)
end;
{TMetaDataClass}
function TMetaDataClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TMetaDataClass.FromJsonString(AJsonString: string): TMetaDataClass;
begin
result := TJson.JsonToObject<TMetaDataClass>(AJsonString)
end;
{TAttachableClass}
constructor TAttachableClass.Create;
begin
inherited;
FMetaData := TMetaDataClass.Create();
end;
destructor TAttachableClass.Destroy;
var
LAttachableRefItem: TAttachableRefClass;
begin
for LAttachableRefItem in FAttachableRef do
LAttachableRefItem.free;
FMetaData.free;
inherited;
end;
function TAttachableClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TAttachableClass.FromJsonString(AJsonString: string): TAttachableClass;
begin
result := TJson.JsonToObject<TAttachableClass>(AJsonString)
end;
{TQueryResponseClass}
destructor TQueryResponseClass.Destroy;
var
LAttachableItem: TAttachableClass;
begin
for LAttachableItem in FAttachable do
LAttachableItem.free;
inherited;
end;
function TQueryResponseClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TQueryResponseClass.FromJsonString(AJsonString: string): TQueryResponseClass;
begin
result := TJson.JsonToObject<TQueryResponseClass>(AJsonString)
end;
{TRootClass}
constructor TJSONAttachableListClass.Create;
begin
inherited;
FQueryResponse := TQueryResponseClass.Create();
end;
destructor TJSONAttachableListClass.Destroy;
begin
FQueryResponse.free;
inherited;
end;
function TJSONAttachableListClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TJSONAttachableListClass.FromJsonString(AJsonString: string): TJSONAttachableListClass;
begin
result := TJson.JsonToObject<TJSONAttachableListClass>(AJsonString)
end;
end.