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.
- armodel/cli/arxml_dump_cli.py +33 -22
- armodel/cli/arxml_format_cli.py +25 -13
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +95 -21
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +359 -59
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +215 -157
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +69 -35
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +113 -39
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +3 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +28 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/EcuResourceMapping.py +45 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +539 -77
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +28 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +33 -21
- armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
- armodel/models/__init__.py +8 -0
- armodel/parser/abstract_arxml_parser.py +34 -27
- armodel/parser/arxml_parser.py +1778 -616
- armodel/parser/file_parser.py +5 -3
- armodel/tests/test_armodel/models/test_ar_package.py +6 -11
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
- armodel/tests/test_armodel/models/test_datatype.py +1 -1
- armodel/tests/test_armodel/models/test_port_interface.py +116 -117
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +54 -22
- armodel/tests/test_armodel/parser/test_system.py +2 -8
- armodel/transformer/__init__.py +0 -0
- armodel/transformer/abstract.py +6 -0
- armodel/transformer/admin_data.py +31 -0
- armodel/writer/abstract_arxml_writer.py +27 -33
- armodel/writer/arxml_writer.py +1875 -599
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/METADATA +81 -3
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/RECORD +69 -56
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
- {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
|