armodel 1.7.6__py3-none-any.whl → 1.7.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. armodel/cli/arxml_dump_cli.py +33 -22
  2. armodel/cli/arxml_format_cli.py +25 -13
  3. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +95 -21
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +359 -59
  5. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
  9. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
  10. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
  11. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
  12. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +215 -157
  13. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +69 -35
  14. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
  15. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
  16. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +113 -39
  17. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +3 -2
  18. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
  19. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
  20. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
  21. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
  22. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
  23. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
  24. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
  25. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +28 -6
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/EcuResourceMapping.py +45 -0
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
  30. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
  31. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
  32. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
  33. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
  34. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
  35. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +539 -77
  36. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
  37. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +28 -6
  38. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
  39. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
  40. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
  41. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
  42. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
  43. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +33 -21
  44. armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
  45. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
  46. armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
  47. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
  48. armodel/models/__init__.py +8 -0
  49. armodel/parser/abstract_arxml_parser.py +34 -27
  50. armodel/parser/arxml_parser.py +1778 -616
  51. armodel/parser/file_parser.py +5 -3
  52. armodel/tests/test_armodel/models/test_ar_package.py +6 -11
  53. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
  54. armodel/tests/test_armodel/models/test_datatype.py +1 -1
  55. armodel/tests/test_armodel/models/test_port_interface.py +116 -117
  56. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
  57. armodel/tests/test_armodel/parser/test_sw_components.py +54 -22
  58. armodel/tests/test_armodel/parser/test_system.py +2 -8
  59. armodel/transformer/__init__.py +0 -0
  60. armodel/transformer/abstract.py +6 -0
  61. armodel/transformer/admin_data.py +31 -0
  62. armodel/writer/abstract_arxml_writer.py +27 -33
  63. armodel/writer/arxml_writer.py +1875 -599
  64. {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/METADATA +81 -3
  65. {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/RECORD +69 -56
  66. {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
  67. {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
  68. {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
  69. {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,524 @@
1
+ from abc import ABCMeta
2
+ from typing import List
3
+
4
+ from .....M2.MSR.AsamHdo.ComputationMethod import CompuScale
5
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, Boolean, Integer, NameToken, PositiveInteger
6
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, String
7
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
8
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Describable, Identifiable
9
+
10
+
11
+ class DataTransformationKindEnum(AREnum):
12
+ def __init__(self):
13
+ super().__init__([])
14
+
15
+
16
+ class DataTransformation(Identifiable):
17
+ def __init__(self, parent: ARObject, short_name: str):
18
+ super().__init__(parent, short_name)
19
+
20
+ self.dataTransformationKind = None # type: DataTransformationKindEnum
21
+ self.executeDespiteDataUnavailability = None # type: Boolean
22
+ self.transformerChainRefs = [] # type: List[RefType]
23
+
24
+ def getDataTransformationKind(self):
25
+ return self.dataTransformationKind
26
+
27
+ def setDataTransformationKind(self, value):
28
+ if value is not None:
29
+ self.dataTransformationKind = value
30
+ return self
31
+
32
+ def getExecuteDespiteDataUnavailability(self):
33
+ return self.executeDespiteDataUnavailability
34
+
35
+ def setExecuteDespiteDataUnavailability(self, value):
36
+ if value is not None:
37
+ self.executeDespiteDataUnavailability = value
38
+ return self
39
+
40
+ def getTransformerChainRefs(self):
41
+ return self.transformerChainRefs
42
+
43
+ def addTransformerChainRef(self, value):
44
+ if value is not None:
45
+ self.transformerChainRefs.append(value)
46
+ return self
47
+
48
+
49
+ class BufferProperties(ARObject):
50
+ def __init__(self):
51
+ super().__init__()
52
+
53
+ self.bufferComputation = None # type: CompuScale
54
+ self.headerLength = None # type: Integer
55
+ self.inPlace = None # type: Boolean
56
+
57
+ def getBufferComputation(self):
58
+ return self.bufferComputation
59
+
60
+ def setBufferComputation(self, value):
61
+ if value is not None:
62
+ self.bufferComputation = value
63
+ return self
64
+
65
+ def getHeaderLength(self):
66
+ return self.headerLength
67
+
68
+ def setHeaderLength(self, value):
69
+ if value is not None:
70
+ self.headerLength = value
71
+ return self
72
+
73
+ def getInPlace(self):
74
+ return self.inPlace
75
+
76
+ def setInPlace(self, value):
77
+ if value is not None:
78
+ self.inPlace = value
79
+ return self
80
+
81
+
82
+ class TransformationDescription(Describable, metaclass=ABCMeta):
83
+ def __init__(self):
84
+ if type(self) is TransformationDescription:
85
+ raise NotImplementedError("TransformationDescription is an abstract class.")
86
+ super().__init__()
87
+
88
+
89
+ class DataIdModeEnum(AREnum):
90
+
91
+ ALL_16_BIT = "all16Bit"
92
+ ALTERNATING_8_BIT = "alternating8Bit"
93
+ LOWER_12_BIT = "lower12Bit"
94
+ LOWER_8_BIT = "lower8Bit"
95
+
96
+ def __init__(self):
97
+ super().__init__([
98
+ DataIdModeEnum.ALL_16_BIT,
99
+ DataIdModeEnum.ALTERNATING_8_BIT,
100
+ DataIdModeEnum.LOWER_12_BIT,
101
+ DataIdModeEnum.LOWER_8_BIT
102
+ ])
103
+
104
+
105
+ class EndToEndProfileBehaviorEnum(AREnum):
106
+
107
+ PRE_R4_2 = "PRE_R4_2"
108
+ R4_2 = "R4_2"
109
+
110
+ def __init__(self):
111
+ super().__init__([
112
+ EndToEndProfileBehaviorEnum.PRE_R4_2,
113
+ EndToEndProfileBehaviorEnum.R4_2
114
+ ])
115
+
116
+
117
+ class EndToEndTransformationDescription(TransformationDescription):
118
+ def __init__(self):
119
+ super().__init__()
120
+
121
+ self.clearFromValidToInvalid = None # type: Boolean
122
+ self.counterOffset = None # type: PositiveInteger
123
+ self.crcOffset = None # type: PositiveInteger
124
+ self.dataIdMode = None # type: DataIdModeEnum
125
+ self.dataIdNibbleOffset = None # type: PositiveInteger
126
+ self.e2eProfileCompatibilityPropsRef = None # type: RefType
127
+ self.maxDeltaCounter = None # type: PositiveInteger
128
+ self.maxErrorStateInit = None # type: PositiveInteger
129
+ self.maxErrorStateInvalid = None # type: PositiveInteger
130
+ self.maxErrorStateValid = None # type: PositiveInteger
131
+ self.maxNoNewOrRepeatedData = None # type: PositiveInteger
132
+ self.minOkStateInit = None # type: PositiveInteger
133
+ self.minOkStateInvalid = None # type: PositiveInteger
134
+ self.minOkStateValid = None # type: PositiveInteger
135
+ self.offset = None # type: PositiveInteger
136
+ self.profileBehavior = None # type: EndToEndProfileBehaviorEnum
137
+ self.profileName = None # type: NameToken
138
+ self.syncCounterInit = None # type: PositiveInteger
139
+ self.upperHeaderBitsToShift = None # type: PositiveInteger
140
+ self.windowSizeInit = None # type: PositiveInteger
141
+ self.windowSizeInvalid = None # type: PositiveInteger
142
+ self.windowSizeValid = None # type: PositiveInteger
143
+
144
+ def getClearFromValidToInvalid(self):
145
+ return self.clearFromValidToInvalid
146
+
147
+ def setClearFromValidToInvalid(self, value):
148
+ if value is not None:
149
+ self.clearFromValidToInvalid = value
150
+ return self
151
+
152
+ def getCounterOffset(self):
153
+ return self.counterOffset
154
+
155
+ def setCounterOffset(self, value):
156
+ if value is not None:
157
+ self.counterOffset = value
158
+ return self
159
+
160
+ def getCrcOffset(self):
161
+ return self.crcOffset
162
+
163
+ def setCrcOffset(self, value):
164
+ if value is not None:
165
+ self.crcOffset = value
166
+ return self
167
+
168
+ def getDataIdMode(self):
169
+ return self.dataIdMode
170
+
171
+ def setDataIdMode(self, value):
172
+ if value is not None:
173
+ self.dataIdMode = value
174
+ return self
175
+
176
+ def getDataIdNibbleOffset(self):
177
+ return self.dataIdNibbleOffset
178
+
179
+ def setDataIdNibbleOffset(self, value):
180
+ if value is not None:
181
+ self.dataIdNibbleOffset = value
182
+ return self
183
+
184
+ def getE2eProfileCompatibilityPropsRef(self):
185
+ return self.e2eProfileCompatibilityPropsRef
186
+
187
+ def setE2eProfileCompatibilityPropsRef(self, value):
188
+ if value is not None:
189
+ self.e2eProfileCompatibilityPropsRef = value
190
+ return self
191
+
192
+ def getMaxDeltaCounter(self):
193
+ return self.maxDeltaCounter
194
+
195
+ def setMaxDeltaCounter(self, value):
196
+ if value is not None:
197
+ self.maxDeltaCounter = value
198
+ return self
199
+
200
+ def getMaxErrorStateInit(self):
201
+ return self.maxErrorStateInit
202
+
203
+ def setMaxErrorStateInit(self, value):
204
+ if value is not None:
205
+ self.maxErrorStateInit = value
206
+ return self
207
+
208
+ def getMaxErrorStateInvalid(self):
209
+ return self.maxErrorStateInvalid
210
+
211
+ def setMaxErrorStateInvalid(self, value):
212
+ if value is not None:
213
+ self.maxErrorStateInvalid = value
214
+ return self
215
+
216
+ def getMaxErrorStateValid(self):
217
+ return self.maxErrorStateValid
218
+
219
+ def setMaxErrorStateValid(self, value):
220
+ if value is not None:
221
+ self.maxErrorStateValid = value
222
+ return self
223
+
224
+ def getMaxNoNewOrRepeatedData(self):
225
+ return self.maxNoNewOrRepeatedData
226
+
227
+ def setMaxNoNewOrRepeatedData(self, value):
228
+ if value is not None:
229
+ self.maxNoNewOrRepeatedData = value
230
+ return self
231
+
232
+ def getMinOkStateInit(self):
233
+ return self.minOkStateInit
234
+
235
+ def setMinOkStateInit(self, value):
236
+ if value is not None:
237
+ self.minOkStateInit = value
238
+ return self
239
+
240
+ def getMinOkStateInvalid(self):
241
+ return self.minOkStateInvalid
242
+
243
+ def setMinOkStateInvalid(self, value):
244
+ if value is not None:
245
+ self.minOkStateInvalid = value
246
+ return self
247
+
248
+ def getMinOkStateValid(self):
249
+ return self.minOkStateValid
250
+
251
+ def setMinOkStateValid(self, value):
252
+ if value is not None:
253
+ self.minOkStateValid = value
254
+ return self
255
+
256
+ def getOffset(self):
257
+ return self.offset
258
+
259
+ def setOffset(self, value):
260
+ if value is not None:
261
+ self.offset = value
262
+ return self
263
+
264
+ def getProfileBehavior(self):
265
+ return self.profileBehavior
266
+
267
+ def setProfileBehavior(self, value):
268
+ if value is not None:
269
+ self.profileBehavior = value
270
+ return self
271
+
272
+ def getProfileName(self):
273
+ return self.profileName
274
+
275
+ def setProfileName(self, value):
276
+ if value is not None:
277
+ self.profileName = value
278
+ return self
279
+
280
+ def getSyncCounterInit(self):
281
+ return self.syncCounterInit
282
+
283
+ def setSyncCounterInit(self, value):
284
+ if value is not None:
285
+ self.syncCounterInit = value
286
+ return self
287
+
288
+ def getUpperHeaderBitsToShift(self):
289
+ return self.upperHeaderBitsToShift
290
+
291
+ def setUpperHeaderBitsToShift(self, value):
292
+ if value is not None:
293
+ self.upperHeaderBitsToShift = value
294
+ return self
295
+
296
+ def getWindowSizeInit(self):
297
+ return self.windowSizeInit
298
+
299
+ def setWindowSizeInit(self, value):
300
+ if value is not None:
301
+ self.windowSizeInit = value
302
+ return self
303
+
304
+ def getWindowSizeInvalid(self):
305
+ return self.windowSizeInvalid
306
+
307
+ def setWindowSizeInvalid(self, value):
308
+ if value is not None:
309
+ self.windowSizeInvalid = value
310
+ return self
311
+
312
+ def getWindowSizeValid(self):
313
+ return self.windowSizeValid
314
+
315
+ def setWindowSizeValid(self, value):
316
+ if value is not None:
317
+ self.windowSizeValid = value
318
+ return self
319
+
320
+
321
+ class TransformerClassEnum(AREnum):
322
+
323
+ CUSTOM = "custom"
324
+ SAFETY = "safety"
325
+ SECURITY = "security"
326
+ SERIALIZER = "serializer"
327
+
328
+ def __init__(self):
329
+ super().__init__([
330
+ TransformerClassEnum.CUSTOM,
331
+ TransformerClassEnum.SAFETY,
332
+ TransformerClassEnum.SECURITY,
333
+ TransformerClassEnum.SERIALIZER
334
+ ])
335
+
336
+
337
+ class TransformationTechnology(Identifiable):
338
+ def __init__(self, parent: ARObject, short_name: str):
339
+ super().__init__(parent, short_name)
340
+
341
+ self.bufferProperties = None # type: BufferProperties
342
+ self.hasInternalState = None # type: Boolean
343
+ self.needsOriginalData = None # type: Boolean
344
+ self.protocol = None # type: String
345
+ self.transformationDescription = None # type: TransformationDescription
346
+ self.transformerClass = None # type: TransformerClassEnum
347
+ self.version = None # type: String
348
+
349
+ def getBufferProperties(self):
350
+ return self.bufferProperties
351
+
352
+ def setBufferProperties(self, value):
353
+ if value is not None:
354
+ self.bufferProperties = value
355
+ return self
356
+
357
+ def getHasInternalState(self):
358
+ return self.hasInternalState
359
+
360
+ def setHasInternalState(self, value):
361
+ if value is not None:
362
+ self.hasInternalState = value
363
+ return self
364
+
365
+ def getNeedsOriginalData(self):
366
+ return self.needsOriginalData
367
+
368
+ def setNeedsOriginalData(self, value):
369
+ if value is not None:
370
+ self.needsOriginalData = value
371
+ return self
372
+
373
+ def getProtocol(self):
374
+ return self.protocol
375
+
376
+ def setProtocol(self, value):
377
+ if value is not None:
378
+ self.protocol = value
379
+ return self
380
+
381
+ def getTransformationDescription(self):
382
+ return self.transformationDescription
383
+
384
+ def setTransformationDescription(self, value):
385
+ if value is not None:
386
+ self.transformationDescription = value
387
+ return self
388
+
389
+ def getTransformerClass(self):
390
+ return self.transformerClass
391
+
392
+ def setTransformerClass(self, value):
393
+ if value is not None:
394
+ self.transformerClass = value
395
+ return self
396
+
397
+ def getVersion(self):
398
+ return self.version
399
+
400
+ def setVersion(self, value):
401
+ if value is not None:
402
+ self.version = value
403
+ return self
404
+
405
+
406
+ class DataTransformationSet(ARElement):
407
+ def __init__(self, parent: ARObject, short_name: str):
408
+ super().__init__(parent, short_name)
409
+
410
+ self.dataTransformations = [] # type: List[DataTransformation]
411
+ self.transformationTechnologies = [] # type: List[TransformationTechnology]
412
+
413
+ def getDataTransformations(self):
414
+ return self.dataTransformations
415
+
416
+ def createDataTransformation(self, short_name: str) -> DataTransformation:
417
+ if (not self.IsElementExists(short_name)):
418
+ dfs = DataTransformation(self, short_name)
419
+ self.addElement(dfs)
420
+ self.dataTransformations.append(dfs)
421
+ return self.getElement(short_name)
422
+
423
+ def getTransformationTechnologies(self):
424
+ return self.transformationTechnologies
425
+
426
+ def createTransformationTechnology(self, short_name: str) -> TransformationTechnology:
427
+ if (not self.IsElementExists(short_name)):
428
+ tech = TransformationTechnology(self, short_name)
429
+ self.addElement(tech)
430
+ self.transformationTechnologies.append(tech)
431
+ return self.getElement(short_name)
432
+
433
+
434
+ class TransformationISignalProps(Describable, metaclass=ABCMeta):
435
+ def __init__(self):
436
+ super().__init__()
437
+
438
+ self.csErrorReaction = None # type: CSTransformerErrorReactionEnum
439
+ self.dataPrototypeTransformationProps = [] # type: List[DataPrototypeTransformationProps]
440
+ self.ident = None # type: TransformationISignalPropsIdent
441
+ self.transformerRef = None # type: RefType
442
+
443
+ def getCsErrorReaction(self):
444
+ return self.csErrorReaction
445
+
446
+ def setCsErrorReaction(self, value):
447
+ if value is not None:
448
+ self.csErrorReaction = value
449
+ return self
450
+
451
+ def getDataPrototypeTransformationProps(self):
452
+ return self.dataPrototypeTransformationProps
453
+
454
+ def setDataPrototypeTransformationProps(self, value):
455
+ if value is not None:
456
+ self.dataPrototypeTransformationProps = value
457
+ return self
458
+
459
+ def getIdent(self):
460
+ return self.ident
461
+
462
+ def setIdent(self, value):
463
+ if value is not None:
464
+ self.ident = value
465
+ return self
466
+
467
+ def getTransformerRef(self):
468
+ return self.transformerRef
469
+
470
+ def setTransformerRef(self, value):
471
+ if value is not None:
472
+ self.transformerRef = value
473
+ return self
474
+
475
+
476
+ class EndToEndTransformationISignalProps(TransformationISignalProps):
477
+ def __init__(self):
478
+ super().__init__()
479
+
480
+ self.dataIds = [] # type: List[PositiveInteger]
481
+ self.dataLength = None # type: PositiveInteger
482
+ self.maxDataLength = None # type: PositiveInteger
483
+ self.minDataLength = None # type: PositiveInteger
484
+ self.sourceId = None # type: PositiveInteger
485
+
486
+ def getDataIds(self):
487
+ return self.dataIds
488
+
489
+ def addDataId(self, value):
490
+ if value is not None:
491
+ self.dataIds.append(value)
492
+ return self
493
+
494
+ def getDataLength(self):
495
+ return self.dataLength
496
+
497
+ def setDataLength(self, value):
498
+ if value is not None:
499
+ self.dataLength = value
500
+ return self
501
+
502
+ def getMaxDataLength(self):
503
+ return self.maxDataLength
504
+
505
+ def setMaxDataLength(self, value):
506
+ if value is not None:
507
+ self.maxDataLength = value
508
+ return self
509
+
510
+ def getMinDataLength(self):
511
+ return self.minDataLength
512
+
513
+ def setMinDataLength(self, value):
514
+ if value is not None:
515
+ self.minDataLength = value
516
+ return self
517
+
518
+ def getSourceId(self):
519
+ return self.sourceId
520
+
521
+ def setSourceId(self, value):
522
+ if value is not None:
523
+ self.sourceId = value
524
+ return self