You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2021/05/05 22:21:00 UTC
[plc4x] branch develop updated: plc4x: removed old rendering methods
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 7f65e1d plc4x: removed old rendering methods
7f65e1d is described below
commit 7f65e1d841e39e8decf4f5441441c236d7ad0565
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu May 6 00:20:46 2021 +0200
plc4x: removed old rendering methods
+ plc4j: removed Jackson annotations from the generated classes to encourage the use of XmlBased Reader/Writers
+ plc4go: removed xml and box rendering methods (string method temporary not available)
+ renamed io to read/write-Buffer to not overlap io imports in golang
---
.../language/go/GoLanguageTemplateHelper.java | 68 +-
.../templates/go/data-io-template.go.ftlh | 24 +-
.../resources/templates/go/enum-template.go.ftlh | 30 +-
.../resources/templates/go/model-template.go.ftlh | 570 +--
.../go/xml-parser-factory-template.go.ftlh | 20 +-
.../language/java/JavaLanguageTemplateHelper.java | 68 +-
.../templates/java/data-io-template.java.ftlh | 28 +-
.../resources/templates/java/io-template.java.ftlh | 124 +-
.../templates/java/pojo-template.java.ftlh | 9 +-
.../plc4go/abeth/readwrite/XmlParserHelper.go | 45 +-
.../model/CIPEncapsulationConnectionRequest.go | 66 +-
.../model/CIPEncapsulationConnectionResponse.go | 66 +-
.../readwrite/model/CIPEncapsulationPacket.go | 283 +-
.../readwrite/model/CIPEncapsulationReadRequest.go | 92 +-
.../model/CIPEncapsulationReadResponse.go | 92 +-
.../readwrite/model/DF1CommandRequestMessage.go | 92 +-
...mandResponseMessageProtectedTypedLogicalRead.go | 102 +-
.../abeth/readwrite/model/DF1RequestCommand.go | 132 +-
.../abeth/readwrite/model/DF1RequestMessage.go | 203 +-
.../model/DF1RequestProtectedTypedLogicalRead.go | 146 +-
.../abeth/readwrite/model/DF1ResponseMessage.go | 210 +-
.../plc4go/ads/readwrite/XmlParserHelper.go | 90 +-
.../model/AdsAddDeviceNotificationRequest.go | 169 +-
.../model/AdsAddDeviceNotificationResponse.go | 105 +-
.../internal/plc4go/ads/readwrite/model/AdsData.go | 425 +--
.../plc4go/ads/readwrite/model/AdsDataType.go | 25 +-
.../model/AdsDeleteDeviceNotificationRequest.go | 82 +-
.../model/AdsDeleteDeviceNotificationResponse.go | 89 +-
.../model/AdsDeviceNotificationRequest.go | 136 +-
.../model/AdsDeviceNotificationResponse.go | 66 +-
.../ads/readwrite/model/AdsInvalidRequest.go | 66 +-
.../ads/readwrite/model/AdsInvalidResponse.go | 66 +-
.../ads/readwrite/model/AdsMultiRequestItem.go | 152 +-
.../ads/readwrite/model/AdsMultiRequestItemRead.go | 114 +-
.../model/AdsMultiRequestItemReadWrite.go | 130 +-
.../readwrite/model/AdsMultiRequestItemWrite.go | 114 +-
.../ads/readwrite/model/AdsNotificationSample.go | 140 +-
.../readwrite/model/AdsReadDeviceInfoRequest.go | 66 +-
.../readwrite/model/AdsReadDeviceInfoResponse.go | 176 +-
.../plc4go/ads/readwrite/model/AdsReadRequest.go | 114 +-
.../plc4go/ads/readwrite/model/AdsReadResponse.go | 136 +-
.../ads/readwrite/model/AdsReadStateRequest.go | 66 +-
.../ads/readwrite/model/AdsReadStateResponse.go | 121 +-
.../ads/readwrite/model/AdsReadWriteRequest.go | 209 +-
.../ads/readwrite/model/AdsReadWriteResponse.go | 136 +-
.../plc4go/ads/readwrite/model/AdsStampHeader.go | 139 +-
.../ads/readwrite/model/AdsWriteControlRequest.go | 145 +-
.../ads/readwrite/model/AdsWriteControlResponse.go | 89 +-
.../plc4go/ads/readwrite/model/AdsWriteRequest.go | 145 +-
.../plc4go/ads/readwrite/model/AdsWriteResponse.go | 89 +-
.../plc4go/ads/readwrite/model/AmsNetId.go | 165 +-
.../plc4go/ads/readwrite/model/AmsPacket.go | 259 +-
.../readwrite/model/AmsSerialAcknowledgeFrame.go | 165 +-
.../plc4go/ads/readwrite/model/AmsSerialFrame.go | 188 +-
.../ads/readwrite/model/AmsSerialResetFrame.go | 165 +-
.../plc4go/ads/readwrite/model/AmsTCPPacket.go | 107 +-
.../plc4go/ads/readwrite/model/CommandId.go | 25 +-
.../plc4go/ads/readwrite/model/DataItem.go | 140 +-
.../ads/readwrite/model/ReservedIndexGroups.go | 25 +-
.../plc4go/ads/readwrite/model/ReturnCode.go | 25 +-
.../internal/plc4go/ads/readwrite/model/State.go | 220 +-
.../plc4go/bacnetip/readwrite/XmlParserHelper.go | 111 +-
.../plc4go/bacnetip/readwrite/model/APDU.go | 230 +-
.../plc4go/bacnetip/readwrite/model/APDUAbort.go | 121 +-
.../bacnetip/readwrite/model/APDUComplexAck.go | 204 +-
.../readwrite/model/APDUConfirmedRequest.go | 252 +-
.../plc4go/bacnetip/readwrite/model/APDUError.go | 115 +-
.../plc4go/bacnetip/readwrite/model/APDUReject.go | 105 +-
.../bacnetip/readwrite/model/APDUSegmentAck.go | 153 +-
.../bacnetip/readwrite/model/APDUSimpleAck.go | 105 +-
.../readwrite/model/APDUUnconfirmedRequest.go | 99 +-
.../bacnetip/readwrite/model/ApplicationTag.go | 25 +-
.../bacnetip/readwrite/model/BACnetAddress.go | 117 +-
.../readwrite/model/BACnetConfirmedServiceACK.go | 412 +--
.../BACnetConfirmedServiceACKAtomicReadFile.go | 66 +-
.../BACnetConfirmedServiceACKAtomicWriteFile.go | 66 +-
...tConfirmedServiceACKConfirmedPrivateTransfer.go | 66 +-
.../model/BACnetConfirmedServiceACKCreateObject.go | 66 +-
.../BACnetConfirmedServiceACKGetAlarmSummary.go | 66 +-
...ACnetConfirmedServiceACKGetEnrollmentSummary.go | 66 +-
...BACnetConfirmedServiceACKGetEventInformation.go | 66 +-
.../model/BACnetConfirmedServiceACKReadProperty.go | 66 +-
...ACnetConfirmedServiceACKReadPropertyMultiple.go | 66 +-
.../model/BACnetConfirmedServiceACKReadRange.go | 66 +-
...BACnetConfirmedServiceACKRemovedAuthenticate.go | 66 +-
...rmedServiceACKRemovedReadPropertyConditional.go | 66 +-
.../model/BACnetConfirmedServiceACKVTData.go | 66 +-
.../model/BACnetConfirmedServiceACKVTOpen.go | 66 +-
.../model/BACnetConfirmedServiceRequest.go | 741 +---
...ACnetConfirmedServiceRequestAcknowledgeAlarm.go | 66 +-
.../BACnetConfirmedServiceRequestAddListElement.go | 66 +-
.../BACnetConfirmedServiceRequestAtomicReadFile.go | 66 +-
...BACnetConfirmedServiceRequestAtomicWriteFile.go | 66 +-
...firmedServiceRequestConfirmedCOVNotification.go | 279 +-
...rviceRequestConfirmedCOVNotificationMultiple.go | 66 +-
...rmedServiceRequestConfirmedEventNotification.go | 66 +-
...firmedServiceRequestConfirmedPrivateTransfer.go | 66 +-
...tConfirmedServiceRequestConfirmedTextMessage.go | 66 +-
.../BACnetConfirmedServiceRequestCreateObject.go | 66 +-
.../BACnetConfirmedServiceRequestDeleteObject.go | 66 +-
...rmedServiceRequestDeviceCommunicationControl.go | 66 +-
...tConfirmedServiceRequestGetEnrollmentSummary.go | 66 +-
...etConfirmedServiceRequestGetEventInformation.go | 66 +-
...etConfirmedServiceRequestLifeSafetyOperation.go | 66 +-
.../BACnetConfirmedServiceRequestReadProperty.go | 165 +-
...tConfirmedServiceRequestReadPropertyMultiple.go | 66 +-
.../BACnetConfirmedServiceRequestReadRange.go | 66 +-
...netConfirmedServiceRequestReinitializeDevice.go | 66 +-
...CnetConfirmedServiceRequestRemoveListElement.go | 66 +-
...etConfirmedServiceRequestRemovedAuthenticate.go | 66 +-
...ServiceRequestRemovedReadPropertyConditional.go | 66 +-
...CnetConfirmedServiceRequestRemovedRequestKey.go | 66 +-
.../BACnetConfirmedServiceRequestSubscribeCOV.go | 215 +-
...tConfirmedServiceRequestSubscribeCOVProperty.go | 66 +-
...edServiceRequestSubscribeCOVPropertyMultiple.go | 66 +-
.../model/BACnetConfirmedServiceRequestVTClose.go | 66 +-
.../model/BACnetConfirmedServiceRequestVTData.go | 66 +-
.../model/BACnetConfirmedServiceRequestVTOpen.go | 66 +-
.../BACnetConfirmedServiceRequestWriteProperty.go | 229 +-
...ConfirmedServiceRequestWritePropertyMultiple.go | 66 +-
.../plc4go/bacnetip/readwrite/model/BACnetError.go | 405 +-
.../readwrite/model/BACnetErrorAtomicReadFile.go | 66 +-
.../readwrite/model/BACnetErrorAtomicWriteFile.go | 66 +-
.../model/BACnetErrorConfirmedPrivateTransfer.go | 66 +-
.../readwrite/model/BACnetErrorCreateObject.go | 66 +-
.../readwrite/model/BACnetErrorGetAlarmSummary.go | 66 +-
.../model/BACnetErrorGetEnrollmentSummary.go | 66 +-
.../model/BACnetErrorGetEventInformation.go | 66 +-
.../readwrite/model/BACnetErrorReadProperty.go | 186 +-
.../model/BACnetErrorReadPropertyMultiple.go | 66 +-
.../readwrite/model/BACnetErrorReadRange.go | 66 +-
.../model/BACnetErrorRemovedAuthenticate.go | 66 +-
.../BACnetErrorRemovedReadPropertyConditional.go | 66 +-
.../bacnetip/readwrite/model/BACnetErrorVTData.go | 66 +-
.../bacnetip/readwrite/model/BACnetErrorVTOpen.go | 66 +-
.../bacnetip/readwrite/model/BACnetNetworkType.go | 25 +-
.../bacnetip/readwrite/model/BACnetNodeType.go | 25 +-
.../bacnetip/readwrite/model/BACnetNotifyType.go | 25 +-
.../bacnetip/readwrite/model/BACnetObjectType.go | 25 +-
.../bacnetip/readwrite/model/BACnetServiceAck.go | 405 +-
.../model/BACnetServiceAckAtomicReadFile.go | 66 +-
.../model/BACnetServiceAckAtomicWriteFile.go | 66 +-
.../BACnetServiceAckConfirmedPrivateTransfer.go | 66 +-
.../model/BACnetServiceAckCreateObject.go | 66 +-
.../model/BACnetServiceAckGetAlarmSummary.go | 66 +-
.../model/BACnetServiceAckGetEnrollmentSummary.go | 66 +-
.../model/BACnetServiceAckGetEventInformation.go | 66 +-
.../model/BACnetServiceAckReadProperty.go | 203 +-
.../model/BACnetServiceAckReadPropertyMultiple.go | 66 +-
.../readwrite/model/BACnetServiceAckReadRange.go | 66 +-
.../model/BACnetServiceAckRemovedAuthenticate.go | 66 +-
...CnetServiceAckRemovedReadPropertyConditional.go | 66 +-
.../readwrite/model/BACnetServiceAckVTData.go | 66 +-
.../readwrite/model/BACnetServiceAckVTOpen.go | 66 +-
.../plc4go/bacnetip/readwrite/model/BACnetTag.go | 452 +--
.../model/BACnetTagApplicationBitString.go | 125 +-
.../readwrite/model/BACnetTagApplicationBoolean.go | 66 +-
.../model/BACnetTagApplicationCharacterString.go | 66 +-
.../readwrite/model/BACnetTagApplicationDate.go | 66 +-
.../readwrite/model/BACnetTagApplicationDouble.go | 82 +-
.../model/BACnetTagApplicationEnumerated.go | 109 +-
.../readwrite/model/BACnetTagApplicationNull.go | 66 +-
.../model/BACnetTagApplicationObjectIdentifier.go | 66 +-
.../model/BACnetTagApplicationOctetString.go | 66 +-
.../readwrite/model/BACnetTagApplicationReal.go | 82 +-
.../model/BACnetTagApplicationSignedInteger.go | 109 +-
.../readwrite/model/BACnetTagApplicationTime.go | 66 +-
.../model/BACnetTagApplicationUnsignedInteger.go | 109 +-
.../bacnetip/readwrite/model/BACnetTagContext.go | 109 +-
.../readwrite/model/BACnetTagWithContent.go | 248 +-
.../model/BACnetUnconfirmedServiceRequest.go | 342 +-
.../model/BACnetUnconfirmedServiceRequestIAm.go | 209 +-
.../model/BACnetUnconfirmedServiceRequestIHave.go | 66 +-
...UnconfirmedServiceRequestTimeSynchronization.go | 66 +-
...onfirmedServiceRequestUTCTimeSynchronization.go | 66 +-
...rmedServiceRequestUnconfirmedCOVNotification.go | 66 +-
...iceRequestUnconfirmedCOVNotificationMultiple.go | 66 +-
...edServiceRequestUnconfirmedEventNotification.go | 66 +-
...rmedServiceRequestUnconfirmedPrivateTransfer.go | 165 +-
...onfirmedServiceRequestUnconfirmedTextMessage.go | 66 +-
.../model/BACnetUnconfirmedServiceRequestWhoHas.go | 183 +-
.../model/BACnetUnconfirmedServiceRequestWhoIs.go | 186 +-
.../BACnetUnconfirmedServiceRequestWriteGroup.go | 66 +-
.../plc4go/bacnetip/readwrite/model/BVLC.go | 384 +-
.../model/BVLCDeleteForeignDeviceTableEntry.go | 66 +-
.../model/BVLCDistributeBroadcastToNetwork.go | 66 +-
.../bacnetip/readwrite/model/BVLCForwardedNPDU.go | 137 +-
.../readwrite/model/BVLCOriginalBroadcastNPDU.go | 89 +-
.../readwrite/model/BVLCOriginalUnicastNPDU.go | 89 +-
.../model/BVLCReadBroadcastDistributionTable.go | 66 +-
.../model/BVLCReadBroadcastDistributionTableAck.go | 66 +-
.../readwrite/model/BVLCReadForeignDeviceTable.go | 66 +-
.../model/BVLCReadForeignDeviceTableAck.go | 66 +-
.../readwrite/model/BVLCRegisterForeignDevice.go | 66 +-
.../plc4go/bacnetip/readwrite/model/BVLCResult.go | 66 +-
.../bacnetip/readwrite/model/BVLCSecureBVLL.go | 66 +-
.../model/BVLCWideBroadcastDistributionTable.go | 66 +-
.../plc4go/bacnetip/readwrite/model/NLM.go | 175 +-
.../readwrite/model/NLMIAmRouterToNetwork.go | 100 +-
.../readwrite/model/NLMWhoIsRouterToNetwork.go | 100 +-
.../plc4go/bacnetip/readwrite/model/NPDU.go | 428 +--
.../plc4go/df1/readwrite/XmlParserHelper.go | 27 +-
.../plc4go/df1/readwrite/model/DF1Command.go | 178 +-
.../plc4go/df1/readwrite/model/DF1Symbol.go | 180 +-
.../df1/readwrite/model/DF1SymbolMessageFrame.go | 143 +-
.../readwrite/model/DF1SymbolMessageFrameACK.go | 66 +-
.../readwrite/model/DF1SymbolMessageFrameNAK.go | 66 +-
.../readwrite/model/DF1UnprotectedReadRequest.go | 98 +-
.../readwrite/model/DF1UnprotectedReadResponse.go | 91 +-
.../plc4go/eip/readwrite/XmlParserHelper.go | 41 +-
.../plc4go/eip/readwrite/model/CIPDataTypeCode.go | 25 +-
.../plc4go/eip/readwrite/model/CipExchange.go | 121 +-
.../plc4go/eip/readwrite/model/CipRRData.go | 103 +-
.../plc4go/eip/readwrite/model/CipReadRequest.go | 141 +-
.../plc4go/eip/readwrite/model/CipReadResponse.go | 168 +-
.../plc4go/eip/readwrite/model/CipService.go | 216 +-
.../eip/readwrite/model/CipUnconnectedRequest.go | 180 +-
.../plc4go/eip/readwrite/model/CipWriteRequest.go | 206 +-
.../plc4go/eip/readwrite/model/CipWriteResponse.go | 105 +-
.../plc4go/eip/readwrite/model/EiPCommand.go | 25 +-
.../eip/readwrite/model/EipConnectionRequest.go | 78 +-
.../eip/readwrite/model/EipDisconnectRequest.go | 66 +-
.../plc4go/eip/readwrite/model/EipPacket.go | 255 +-
.../eip/readwrite/model/MultipleServiceRequest.go | 101 +-
.../eip/readwrite/model/MultipleServiceResponse.go | 190 +-
.../plc4go/eip/readwrite/model/Services.go | 163 +-
.../plc4go/firmata/readwrite/XmlParserHelper.go | 36 +-
.../firmata/readwrite/model/FirmataCommand.go | 195 +-
.../model/FirmataCommandProtocolVersion.go | 98 +-
.../model/FirmataCommandSetDigitalPinValue.go | 105 +-
.../readwrite/model/FirmataCommandSetPinMode.go | 106 +-
.../firmata/readwrite/model/FirmataCommandSysex.go | 99 +-
.../readwrite/model/FirmataCommandSystemReset.go | 66 +-
.../firmata/readwrite/model/FirmataMessage.go | 188 +-
.../readwrite/model/FirmataMessageAnalogIO.go | 121 +-
.../readwrite/model/FirmataMessageCommand.go | 92 +-
.../readwrite/model/FirmataMessageDigitalIO.go | 121 +-
.../model/FirmataMessageSubscribeAnalogPinValue.go | 105 +-
.../FirmataMessageSubscribeDigitalPinValue.go | 105 +-
.../plc4go/firmata/readwrite/model/PinMode.go | 25 +-
.../plc4go/firmata/readwrite/model/SysexCommand.go | 398 +-
.../model/SysexCommandAnalogMappingQueryRequest.go | 66 +-
.../SysexCommandAnalogMappingQueryResponse.go | 82 +-
.../model/SysexCommandAnalogMappingResponse.go | 66 +-
.../readwrite/model/SysexCommandCapabilityQuery.go | 66 +-
.../model/SysexCommandCapabilityResponse.go | 66 +-
.../readwrite/model/SysexCommandExendedId.go | 105 +-
.../readwrite/model/SysexCommandExtendedAnalog.go | 66 +-
.../readwrite/model/SysexCommandPinStateQuery.go | 82 +-
.../model/SysexCommandPinStateResponse.go | 114 +-
.../model/SysexCommandReportFirmwareRequest.go | 66 +-
.../model/SysexCommandReportFirmwareResponse.go | 123 +-
.../model/SysexCommandSamplingInterval.go | 66 +-
.../readwrite/model/SysexCommandStringData.go | 66 +-
.../model/SysexCommandSysexNonRealtime.go | 66 +-
.../readwrite/model/SysexCommandSysexRealtime.go | 66 +-
.../plc4go/knxnetip/readwrite/XmlParserHelper.go | 280 +-
.../plc4go/knxnetip/readwrite/model/AccessLevel.go | 25 +-
.../plc4go/knxnetip/readwrite/model/Apdu.go | 178 +-
.../plc4go/knxnetip/readwrite/model/ApduControl.go | 202 +-
.../knxnetip/readwrite/model/ApduControlAck.go | 66 +-
.../knxnetip/readwrite/model/ApduControlConnect.go | 66 +-
.../readwrite/model/ApduControlContainer.go | 92 +-
.../readwrite/model/ApduControlDisconnect.go | 66 +-
.../knxnetip/readwrite/model/ApduControlNack.go | 66 +-
.../plc4go/knxnetip/readwrite/model/ApduData.go | 398 +-
.../knxnetip/readwrite/model/ApduDataAdcRead.go | 66 +-
.../readwrite/model/ApduDataAdcResponse.go | 66 +-
.../knxnetip/readwrite/model/ApduDataContainer.go | 92 +-
.../model/ApduDataDeviceDescriptorRead.go | 82 +-
.../model/ApduDataDeviceDescriptorResponse.go | 121 +-
.../plc4go/knxnetip/readwrite/model/ApduDataExt.go | 930 +----
.../readwrite/model/ApduDataExtAuthorizeRequest.go | 114 +-
.../model/ApduDataExtAuthorizeResponse.go | 82 +-
.../model/ApduDataExtDomainAddressRead.go | 66 +-
.../model/ApduDataExtDomainAddressResponse.go | 66 +-
.../model/ApduDataExtDomainAddressSelectiveRead.go | 66 +-
.../ApduDataExtDomainAddressSerialNumberRead.go | 66 +-
...ApduDataExtDomainAddressSerialNumberResponse.go | 66 +-
.../ApduDataExtDomainAddressSerialNumberWrite.go | 66 +-
.../model/ApduDataExtDomainAddressWrite.go | 66 +-
.../model/ApduDataExtFileStreamInfoReport.go | 66 +-
.../ApduDataExtGroupPropertyValueInfoReport.go | 66 +-
.../model/ApduDataExtGroupPropertyValueRead.go | 66 +-
.../model/ApduDataExtGroupPropertyValueResponse.go | 66 +-
.../model/ApduDataExtGroupPropertyValueWrite.go | 66 +-
...ApduDataExtIndividualAddressSerialNumberRead.go | 66 +-
...DataExtIndividualAddressSerialNumberResponse.go | 66 +-
...pduDataExtIndividualAddressSerialNumberWrite.go | 66 +-
.../readwrite/model/ApduDataExtKeyResponse.go | 66 +-
.../readwrite/model/ApduDataExtKeyWrite.go | 66 +-
.../readwrite/model/ApduDataExtLinkRead.go | 66 +-
.../readwrite/model/ApduDataExtLinkResponse.go | 66 +-
.../readwrite/model/ApduDataExtLinkWrite.go | 66 +-
.../readwrite/model/ApduDataExtMemoryBitWrite.go | 66 +-
.../model/ApduDataExtNetworkParameterRead.go | 66 +-
.../model/ApduDataExtNetworkParameterResponse.go | 66 +-
.../model/ApduDataExtNetworkParameterWrite.go | 66 +-
.../model/ApduDataExtOpenRoutingTableRequest.go | 66 +-
.../model/ApduDataExtPropertyDescriptionRead.go | 114 +-
.../ApduDataExtPropertyDescriptionResponse.go | 229 +-
.../model/ApduDataExtPropertyValueRead.go | 130 +-
.../model/ApduDataExtPropertyValueResponse.go | 162 +-
.../model/ApduDataExtPropertyValueWrite.go | 162 +-
.../model/ApduDataExtReadRouterMemoryRequest.go | 66 +-
.../model/ApduDataExtReadRouterMemoryResponse.go | 66 +-
.../model/ApduDataExtReadRouterStatusRequest.go | 66 +-
.../model/ApduDataExtReadRouterStatusResponse.go | 66 +-
.../model/ApduDataExtReadRoutingTableRequest.go | 66 +-
.../model/ApduDataExtReadRoutingTableResponse.go | 66 +-
.../model/ApduDataExtWriteRouterMemoryRequest.go | 66 +-
.../model/ApduDataExtWriteRouterStatusRequest.go | 66 +-
.../model/ApduDataExtWriteRoutingTableRequest.go | 66 +-
.../readwrite/model/ApduDataGroupValueRead.go | 73 +-
.../readwrite/model/ApduDataGroupValueResponse.go | 121 +-
.../readwrite/model/ApduDataGroupValueWrite.go | 121 +-
.../model/ApduDataIndividualAddressRead.go | 66 +-
.../model/ApduDataIndividualAddressResponse.go | 66 +-
.../model/ApduDataIndividualAddressWrite.go | 66 +-
.../knxnetip/readwrite/model/ApduDataMemoryRead.go | 98 +-
.../readwrite/model/ApduDataMemoryResponse.go | 122 +-
.../readwrite/model/ApduDataMemoryWrite.go | 66 +-
.../knxnetip/readwrite/model/ApduDataOther.go | 92 +-
.../knxnetip/readwrite/model/ApduDataRestart.go | 66 +-
.../readwrite/model/ApduDataUserMessage.go | 66 +-
.../plc4go/knxnetip/readwrite/model/CEMI.go | 559 +--
.../readwrite/model/CEMIAdditionalInformation.go | 146 +-
.../CEMIAdditionalInformationBusmonitorInfo.go | 168 +-
.../CEMIAdditionalInformationRelativeTimestamp.go | 95 +-
.../knxnetip/readwrite/model/CEMIPriority.go | 25 +-
.../knxnetip/readwrite/model/ChannelInformation.go | 101 +-
.../knxnetip/readwrite/model/ComObjectTable.go | 152 +-
.../readwrite/model/ComObjectTableAddresses.go | 25 +-
.../model/ComObjectTableRealisationType1.go | 136 +-
.../model/ComObjectTableRealisationType2.go | 136 +-
.../model/ComObjectTableRealisationType6.go | 89 +-
.../knxnetip/readwrite/model/ComObjectValueType.go | 25 +-
.../knxnetip/readwrite/model/ConnectionRequest.go | 138 +-
.../model/ConnectionRequestInformation.go | 161 +-
...ConnectionRequestInformationDeviceManagement.go | 66 +-
...ConnectionRequestInformationTunnelConnection.go | 96 +-
.../knxnetip/readwrite/model/ConnectionResponse.go | 146 +-
.../readwrite/model/ConnectionResponseDataBlock.go | 161 +-
.../ConnectionResponseDataBlockDeviceManagement.go | 66 +-
.../ConnectionResponseDataBlockTunnelConnection.go | 89 +-
.../readwrite/model/ConnectionStateRequest.go | 112 +-
.../readwrite/model/ConnectionStateResponse.go | 105 +-
.../knxnetip/readwrite/model/DIBDeviceInfo.go | 307 +-
.../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 145 +-
.../knxnetip/readwrite/model/DescriptionRequest.go | 89 +-
.../readwrite/model/DescriptionResponse.go | 112 +-
.../readwrite/model/DeviceConfigurationAck.go | 89 +-
.../model/DeviceConfigurationAckDataBlock.go | 132 +-
.../readwrite/model/DeviceConfigurationRequest.go | 115 +-
.../model/DeviceConfigurationRequestDataBlock.go | 116 +-
.../knxnetip/readwrite/model/DeviceDescriptor.go | 25 +-
.../readwrite/model/DeviceDescriptorMediumType.go | 25 +-
.../readwrite/model/DeviceDescriptorType2.go | 257 +-
.../knxnetip/readwrite/model/DeviceStatus.go | 92 +-
.../knxnetip/readwrite/model/DisconnectRequest.go | 112 +-
.../knxnetip/readwrite/model/DisconnectResponse.go | 105 +-
.../knxnetip/readwrite/model/FirmwareType.go | 25 +-
.../model/GroupObjectDescriptorRealisationType1.go | 218 +-
.../model/GroupObjectDescriptorRealisationType2.go | 227 +-
.../model/GroupObjectDescriptorRealisationType6.go | 69 +-
.../model/GroupObjectDescriptorRealisationType7.go | 227 +-
.../model/GroupObjectDescriptorRealisationTypeB.go | 211 +-
.../readwrite/model/HPAIControlEndpoint.go | 139 +-
.../knxnetip/readwrite/model/HPAIDataEndpoint.go | 139 +-
.../readwrite/model/HPAIDiscoveryEndpoint.go | 139 +-
.../knxnetip/readwrite/model/HostProtocolCode.go | 25 +-
.../plc4go/knxnetip/readwrite/model/IPAddress.go | 108 +-
.../plc4go/knxnetip/readwrite/model/KnxAddress.go | 117 +-
.../knxnetip/readwrite/model/KnxDatapoint.go | 3856 ++++++++++----------
.../readwrite/model/KnxDatapointMainType.go | 25 +-
.../knxnetip/readwrite/model/KnxDatapointType.go | 25 +-
.../knxnetip/readwrite/model/KnxGroupAddress.go | 152 +-
.../readwrite/model/KnxGroupAddress2Level.go | 98 +-
.../readwrite/model/KnxGroupAddress3Level.go | 114 +-
.../readwrite/model/KnxGroupAddressFreeLevel.go | 82 +-
.../readwrite/model/KnxInterfaceObjectProperty.go | 25 +-
.../readwrite/model/KnxInterfaceObjectType.go | 25 +-
.../plc4go/knxnetip/readwrite/model/KnxLayer.go | 25 +-
.../knxnetip/readwrite/model/KnxManufacturer.go | 25 +-
.../plc4go/knxnetip/readwrite/model/KnxMedium.go | 25 +-
.../knxnetip/readwrite/model/KnxNetIpCore.go | 82 +-
.../readwrite/model/KnxNetIpDeviceManagement.go | 82 +-
.../knxnetip/readwrite/model/KnxNetIpMessage.go | 371 +-
.../knxnetip/readwrite/model/KnxNetIpRouting.go | 82 +-
.../knxnetip/readwrite/model/KnxNetIpTunneling.go | 82 +-
.../knxnetip/readwrite/model/KnxNetObjectServer.go | 82 +-
.../model/KnxNetRemoteConfigurationAndDiagnosis.go | 82 +-
.../readwrite/model/KnxNetRemoteLogging.go | 82 +-
.../plc4go/knxnetip/readwrite/model/KnxProperty.go | 476 +--
.../readwrite/model/KnxPropertyDataType.go | 25 +-
.../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 189 +-
.../plc4go/knxnetip/readwrite/model/LDataCon.go | 160 +-
.../knxnetip/readwrite/model/LDataExtended.go | 210 +-
.../plc4go/knxnetip/readwrite/model/LDataFrame.go | 263 +-
.../knxnetip/readwrite/model/LDataFrameACK.go | 66 +-
.../plc4go/knxnetip/readwrite/model/LDataInd.go | 160 +-
.../plc4go/knxnetip/readwrite/model/LDataReq.go | 160 +-
.../plc4go/knxnetip/readwrite/model/LPollData.go | 151 +-
.../knxnetip/readwrite/model/LPollDataCon.go | 66 +-
.../knxnetip/readwrite/model/LPollDataReq.go | 66 +-
.../plc4go/knxnetip/readwrite/model/LRawCon.go | 66 +-
.../plc4go/knxnetip/readwrite/model/LRawInd.go | 66 +-
.../plc4go/knxnetip/readwrite/model/LRawReq.go | 66 +-
.../plc4go/knxnetip/readwrite/model/MACAddress.go | 108 +-
.../readwrite/model/MFuncPropCommandReq.go | 66 +-
.../knxnetip/readwrite/model/MFuncPropCon.go | 66 +-
.../readwrite/model/MFuncPropStateReadReq.go | 66 +-
.../knxnetip/readwrite/model/MPropInfoInd.go | 66 +-
.../knxnetip/readwrite/model/MPropReadCon.go | 162 +-
.../knxnetip/readwrite/model/MPropReadReq.go | 146 +-
.../knxnetip/readwrite/model/MPropWriteCon.go | 66 +-
.../knxnetip/readwrite/model/MPropWriteReq.go | 66 +-
.../plc4go/knxnetip/readwrite/model/MResetInd.go | 66 +-
.../plc4go/knxnetip/readwrite/model/MResetReq.go | 66 +-
.../model/ProjectInstallationIdentifier.go | 101 +-
.../knxnetip/readwrite/model/RelativeTimestamp.go | 85 +-
.../knxnetip/readwrite/model/RoutingIndication.go | 66 +-
.../knxnetip/readwrite/model/SearchRequest.go | 89 +-
.../knxnetip/readwrite/model/SearchResponse.go | 135 +-
.../plc4go/knxnetip/readwrite/model/ServiceId.go | 216 +-
.../plc4go/knxnetip/readwrite/model/Status.go | 25 +-
.../readwrite/model/SupportedPhysicalMedia.go | 25 +-
.../knxnetip/readwrite/model/TDataConnectedInd.go | 66 +-
.../knxnetip/readwrite/model/TDataConnectedReq.go | 66 +-
.../knxnetip/readwrite/model/TDataIndividualInd.go | 66 +-
.../knxnetip/readwrite/model/TDataIndividualReq.go | 66 +-
.../knxnetip/readwrite/model/TunnelingRequest.go | 115 +-
.../readwrite/model/TunnelingRequestDataBlock.go | 116 +-
.../knxnetip/readwrite/model/TunnelingResponse.go | 89 +-
.../readwrite/model/TunnelingResponseDataBlock.go | 132 +-
.../knxnetip/readwrite/model/UnknownMessage.go | 105 +-
.../plc4go/modbus/readwrite/XmlParserHelper.go | 67 +-
.../plc4go/modbus/readwrite/model/DataItem.go | 218 +-
.../modbus/readwrite/model/ModbusConstants.go | 75 +-
.../modbus/readwrite/model/ModbusDataType.go | 25 +-
.../modbus/readwrite/model/ModbusErrorCode.go | 25 +-
.../plc4go/modbus/readwrite/model/ModbusPDU.go | 714 +---
.../readwrite/model/ModbusPDUDiagnosticRequest.go | 98 +-
.../readwrite/model/ModbusPDUDiagnosticResponse.go | 98 +-
.../modbus/readwrite/model/ModbusPDUError.go | 90 +-
.../model/ModbusPDUGetComEventCounterRequest.go | 66 +-
.../model/ModbusPDUGetComEventCounterResponse.go | 98 +-
.../model/ModbusPDUGetComEventLogRequest.go | 66 +-
.../model/ModbusPDUGetComEventLogResponse.go | 161 +-
.../ModbusPDUMaskWriteHoldingRegisterRequest.go | 114 +-
.../ModbusPDUMaskWriteHoldingRegisterResponse.go | 114 +-
.../readwrite/model/ModbusPDUReadCoilsRequest.go | 98 +-
.../readwrite/model/ModbusPDUReadCoilsResponse.go | 113 +-
.../ModbusPDUReadDeviceIdentificationRequest.go | 66 +-
.../ModbusPDUReadDeviceIdentificationResponse.go | 66 +-
.../model/ModbusPDUReadDiscreteInputsRequest.go | 98 +-
.../model/ModbusPDUReadDiscreteInputsResponse.go | 113 +-
.../model/ModbusPDUReadExceptionStatusRequest.go | 66 +-
.../model/ModbusPDUReadExceptionStatusResponse.go | 82 +-
.../model/ModbusPDUReadFifoQueueRequest.go | 82 +-
.../model/ModbusPDUReadFifoQueueResponse.go | 112 +-
.../model/ModbusPDUReadFileRecordRequest.go | 123 +-
.../model/ModbusPDUReadFileRecordRequestItem.go | 133 +-
.../model/ModbusPDUReadFileRecordResponse.go | 123 +-
.../model/ModbusPDUReadFileRecordResponseItem.go | 136 +-
.../model/ModbusPDUReadHoldingRegistersRequest.go | 98 +-
.../model/ModbusPDUReadHoldingRegistersResponse.go | 113 +-
.../model/ModbusPDUReadInputRegistersRequest.go | 98 +-
.../model/ModbusPDUReadInputRegistersResponse.go | 113 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 177 +-
...PDUReadWriteMultipleHoldingRegistersResponse.go | 113 +-
.../model/ModbusPDUReportServerIdRequest.go | 66 +-
.../model/ModbusPDUReportServerIdResponse.go | 113 +-
.../model/ModbusPDUWriteFileRecordRequest.go | 123 +-
.../model/ModbusPDUWriteFileRecordRequestItem.go | 168 +-
.../model/ModbusPDUWriteFileRecordResponse.go | 123 +-
.../model/ModbusPDUWriteFileRecordResponseItem.go | 168 +-
.../model/ModbusPDUWriteMultipleCoilsRequest.go | 145 +-
.../model/ModbusPDUWriteMultipleCoilsResponse.go | 98 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 145 +-
...dbusPDUWriteMultipleHoldingRegistersResponse.go | 98 +-
.../model/ModbusPDUWriteSingleCoilRequest.go | 98 +-
.../model/ModbusPDUWriteSingleCoilResponse.go | 98 +-
.../model/ModbusPDUWriteSingleRegisterRequest.go | 98 +-
.../model/ModbusPDUWriteSingleRegisterResponse.go | 98 +-
.../modbus/readwrite/model/ModbusSerialADU.go | 150 +-
.../plc4go/modbus/readwrite/model/ModbusTcpADU.go | 141 +-
.../plc4go/s7/readwrite/XmlParserHelper.go | 125 +-
.../plc4go/s7/readwrite/model/COTPPacket.go | 292 +-
.../readwrite/model/COTPPacketConnectionRequest.go | 122 +-
.../model/COTPPacketConnectionResponse.go | 122 +-
.../plc4go/s7/readwrite/model/COTPPacketData.go | 98 +-
.../readwrite/model/COTPPacketDisconnectRequest.go | 122 +-
.../model/COTPPacketDisconnectResponse.go | 98 +-
.../s7/readwrite/model/COTPPacketTpduError.go | 98 +-
.../plc4go/s7/readwrite/model/COTPParameter.go | 196 +-
.../s7/readwrite/model/COTPParameterCalledTsap.go | 82 +-
.../s7/readwrite/model/COTPParameterCallingTsap.go | 82 +-
.../s7/readwrite/model/COTPParameterChecksum.go | 82 +-
...COTPParameterDisconnectAdditionalInformation.go | 88 +-
.../s7/readwrite/model/COTPParameterTpduSize.go | 90 +-
.../plc4go/s7/readwrite/model/COTPProtocolClass.go | 25 +-
.../plc4go/s7/readwrite/model/COTPTpduSize.go | 25 +-
.../internal/plc4go/s7/readwrite/model/DataItem.go | 186 +-
.../s7/readwrite/model/DataTransportErrorCode.go | 25 +-
.../plc4go/s7/readwrite/model/DataTransportSize.go | 25 +-
.../plc4go/s7/readwrite/model/DeviceGroup.go | 25 +-
.../plc4go/s7/readwrite/model/MemoryArea.go | 25 +-
.../plc4go/s7/readwrite/model/S7Address.go | 132 +-
.../plc4go/s7/readwrite/model/S7AddressAny.go | 184 +-
.../plc4go/s7/readwrite/model/S7Message.go | 277 +-
.../plc4go/s7/readwrite/model/S7MessageRequest.go | 66 +-
.../plc4go/s7/readwrite/model/S7MessageResponse.go | 98 +-
.../s7/readwrite/model/S7MessageResponseData.go | 98 +-
.../plc4go/s7/readwrite/model/S7MessageUserData.go | 66 +-
.../plc4go/s7/readwrite/model/S7Parameter.go | 202 +-
.../readwrite/model/S7ParameterReadVarRequest.go | 122 +-
.../readwrite/model/S7ParameterReadVarResponse.go | 82 +-
.../model/S7ParameterSetupCommunication.go | 121 +-
.../s7/readwrite/model/S7ParameterUserData.go | 122 +-
.../s7/readwrite/model/S7ParameterUserDataItem.go | 132 +-
.../model/S7ParameterUserDataItemCPUFunctions.go | 239 +-
.../readwrite/model/S7ParameterWriteVarRequest.go | 122 +-
.../readwrite/model/S7ParameterWriteVarResponse.go | 82 +-
.../plc4go/s7/readwrite/model/S7Payload.go | 166 +-
.../s7/readwrite/model/S7PayloadReadVarResponse.go | 104 +-
.../plc4go/s7/readwrite/model/S7PayloadUserData.go | 114 +-
.../s7/readwrite/model/S7PayloadUserDataItem.go | 240 +-
...PayloadUserDataItemCpuFunctionReadSzlRequest.go | 66 +-
...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 118 +-
.../s7/readwrite/model/S7PayloadWriteVarRequest.go | 104 +-
.../readwrite/model/S7PayloadWriteVarResponse.go | 104 +-
.../s7/readwrite/model/S7VarPayloadDataItem.go | 171 +-
.../s7/readwrite/model/S7VarPayloadStatusItem.go | 93 +-
.../readwrite/model/S7VarRequestParameterItem.go | 132 +-
.../model/S7VarRequestParameterItemAddress.go | 100 +-
.../plc4go/s7/readwrite/model/SzlDataTreeItem.go | 155 +-
plc4go/internal/plc4go/s7/readwrite/model/SzlId.go | 133 +-
.../s7/readwrite/model/SzlModuleTypeClass.go | 25 +-
.../plc4go/s7/readwrite/model/SzlSublist.go | 25 +-
.../plc4go/s7/readwrite/model/TPKTPacket.go | 116 +-
.../plc4go/s7/readwrite/model/TransportSize.go | 25 +-
plc4go/internal/plc4go/s7/s7Io_test.go | 8 +-
.../plc4go/simulated/readwrite/XmlParserHelper.go | 16 -
.../plc4go/simulated/readwrite/model/DataItem.go | 226 +-
.../plc4go/simulated/readwrite/model/Dummy.go | 85 +-
.../readwrite/model/SimulatedDataTypeSizes.go | 25 +-
.../plc4go/spi/testutils/DriverTestRunner.go | 7 +-
plc4j/drivers/ab-eth/pom.xml | 4 -
plc4j/drivers/ads/pom.xml | 5 -
plc4j/drivers/eip/pom.xml | 5 -
plc4j/drivers/firmata/pom.xml | 4 -
plc4j/drivers/knxnetip/pom.xml | 4 -
.../org/apache/plc4x/java/knxnetip/IOTest.java | 104 -
plc4j/drivers/simulated/pom.xml | 4 -
.../ads/src/main/resources/protocols/ads/ads.mspec | 4 +-
.../df1/src/main/resources/protocols/df1/df1.mspec | 2 +-
.../main/resources/protocols/firmata/firmata.mspec | 2 +-
.../s7/src/main/resources/protocols/s7/s7.mspec | 8 +-
sandbox/test-java-bacnetip-driver/pom.xml | 4 -
sandbox/test-java-df1-driver/pom.xml | 4 -
.../java/org/apache/plc4x/protocol/df1/IOTest.java | 100 -
562 files changed, 10153 insertions(+), 54730 deletions(-)
diff --git a/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java b/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
index bf68294..2568a18 100644
--- a/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
+++ b/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
@@ -305,56 +305,56 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
public String getReadBufferReadMethodCall(String logicalName, SimpleTypeReference simpleTypeReference, String valueString, TypedField field) {
switch (simpleTypeReference.getBaseType()) {
case BIT: {
- return "io.ReadBit(\"" + logicalName + "\")";
+ return "readBuffer.ReadBit(\"" + logicalName + "\")";
}
case BYTE: {
- return "io.ReadByte(\"" + logicalName + "\")";
+ return "readBuffer.ReadByte(\"" + logicalName + "\")";
}
case UINT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.ReadUint8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadUint8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.ReadUint16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadUint16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.ReadUint32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadUint32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 64) {
- return "io.ReadUint64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadUint64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
- return "io.ReadBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
case INT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.ReadInt8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadInt8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.ReadInt16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadInt16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.ReadInt32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadInt32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 64) {
- return "io.ReadInt64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadInt64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
- return "io.ReadBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.ReadBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
case FLOAT: {
FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
if (floatTypeReference.getSizeInBits() <= 32) {
- return "io.ReadFloat32(\"" + logicalName + "\", true, " + floatTypeReference.getExponent() + ", " + floatTypeReference.getMantissa() + ")";
+ return "readBuffer.ReadFloat32(\"" + logicalName + "\", true, " + floatTypeReference.getExponent() + ", " + floatTypeReference.getMantissa() + ")";
}
if (floatTypeReference.getSizeInBits() <= 64) {
- return "io.ReadFloat64(\"" + logicalName + "\", true, " + floatTypeReference.getExponent() + ", " + floatTypeReference.getMantissa() + ")";
+ return "readBuffer.ReadFloat64(\"" + logicalName + "\", true, " + floatTypeReference.getExponent() + ", " + floatTypeReference.getMantissa() + ")";
}
- return "io.ReadBigFloat(\"" + logicalName + "\", true, " + floatTypeReference.getExponent() + ", " + floatTypeReference.getMantissa() + ")";
+ return "readBuffer.ReadBigFloat(\"" + logicalName + "\", true, " + floatTypeReference.getExponent() + ", " + floatTypeReference.getMantissa() + ")";
}
case STRING: {
StringTypeReference stringTypeReference = (StringTypeReference) simpleTypeReference;
- return "io.ReadString(\"" + logicalName + "\", uint32(" + toParseExpression(field, stringTypeReference.getLengthExpression(), null) + "))";
+ return "readBuffer.ReadString(\"" + logicalName + "\", uint32(" + toParseExpression(field, stringTypeReference.getLengthExpression(), null) + "))";
}
}
return "Hurz";
@@ -374,59 +374,59 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
switch (simpleTypeReference.getBaseType()) {
case BIT: {
- return "io.WriteBit(\"" + logicalName + "\", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteBit(\"" + logicalName + "\", " + fieldName + writerArgsString + ")";
}
case BYTE: {
- return "io.WriteByte(\"" + logicalName + "\", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteByte(\"" + logicalName + "\", " + fieldName + writerArgsString + ")";
}
case UINT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.WriteUint8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteUint8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.WriteUint16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteUint16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.WriteUint32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteUint32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 64) {
- return "io.WriteUint64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteUint64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
- return "io.WriteBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
case INT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.WriteInt8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteInt8(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.WriteInt16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteInt16(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.WriteInt32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteInt32(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 64) {
- return "io.WriteInt64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteInt64(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
- return "io.WriteBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteBigInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
case FLOAT:
case UFLOAT: {
FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
if (floatTypeReference.getSizeInBits() <= 32) {
- return "io.WriteFloat32(\"" + logicalName + "\", " + floatTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteFloat32(\"" + logicalName + "\", " + floatTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
if (floatTypeReference.getSizeInBits() <= 64) {
- return "io.WriteFloat64(\"" + logicalName + "\", " + floatTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteFloat64(\"" + logicalName + "\", " + floatTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
- return "io.WriteBigFloat(\"" + logicalName + "\", " + floatTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
+ return "writeBuffer.WriteBigFloat(\"" + logicalName + "\", " + floatTypeReference.getSizeInBits() + ", " + fieldName + writerArgsString + ")";
}
case STRING: {
StringTypeReference stringTypeReference = (StringTypeReference) simpleTypeReference;
String encoding = ((stringTypeReference.getEncoding() != null) && (stringTypeReference.getEncoding().length() > 2)) ?
stringTypeReference.getEncoding().substring(1, stringTypeReference.getEncoding().length() - 1) : "UTF-8";
- return "io.WriteString(\"" + logicalName + "\", uint8(" + toSerializationExpression(field, stringTypeReference.getLengthExpression(), getThisTypeDefinition().getParserArguments()) + "), \"" +
+ return "writeBuffer.WriteString(\"" + logicalName + "\", uint8(" + toSerializationExpression(field, stringTypeReference.getLengthExpression(), getThisTypeDefinition().getParserArguments()) + "), \"" +
encoding + "\", " + fieldName + writerArgsString + ")";
}
}
@@ -662,7 +662,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
if (arg instanceof VariableLiteral) {
VariableLiteral va = (VariableLiteral) arg;
// "io" is the default name of the reader argument which is always available.
- boolean isParserArg = "io".equals(va.getName()) || ((getThisTypeDefinition() instanceof DataIoTypeDefinition) && "_value".equals(va.getName()));
+ boolean isParserArg = "readBuffer".equals(va.getName()) || "writeBuffer".equals(va.getName()) || ((getThisTypeDefinition() instanceof DataIoTypeDefinition) && "_value".equals(va.getName()));
boolean isTypeArg = "_type".equals(va.getName());
if (!isParserArg && !isTypeArg && parserArguments != null) {
for (Argument parserArgument : parserArguments) {
@@ -714,7 +714,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
} else if ("ARRAY_SIZE_IN_BYTES".equals(vl.getName())) {
VariableLiteral va = (VariableLiteral) vl.getArgs().get(0);
// "io" and "m" are always available in every parser.
- boolean isSerializerArg = "io".equals(va.getName()) || "m".equals(va.getName()) || "element".equals(va.getName());
+ boolean isSerializerArg = "readBuffer".equals(va.getName()) || "writeBuffer".equals(va.getName()) || "m".equals(va.getName()) || "element".equals(va.getName());
if (!isSerializerArg && serializerArguments != null) {
for (Argument serializerArgument : serializerArguments) {
if (serializerArgument.getName().equals(va.getName())) {
diff --git a/build-utils/language-go/src/main/resources/templates/go/data-io-template.go.ftlh b/build-utils/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
index cc83d66..d0dbfd3 100644
--- a/build-utils/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
@@ -82,8 +82,8 @@ import (
<@importSectionWithContentBelow><@emitImport import="github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils" /><@emitImport import="github.com/apache/plc4x/plc4go/internal/plc4go/spi/values" /><@emitImportWithAlias alias="api" import="github.com/apache/plc4x/plc4go/pkg/plc4go/values" />
// Code generated by build-utils. DO NOT EDIT.
-func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type) && !helper.isEnumTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
- io.PullContext("${type.name}")
+func ${type.name}Parse(readBuffer utils.ReadBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type) && !helper.isEnumTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
+ readBuffer.PullContext("${type.name}")
switch {
<#list type.switchField.cases as case>
<#if case.discriminatorValues?has_content>case <#list case.discriminatorValues as discriminatorValue>${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)} == <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(type.parserArguments[discriminatorValue?index].type)><#if helper.isEn [...]
@@ -151,14 +151,14 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#if helper.hasFieldsWithNames(case.fields, "hour", "minutes", "seconds")>
value := time.Date(0,0,0, int(hour), int(minutes), int(seconds), 0, nil)<@emitImport import="time" />
</#if>
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
return values.NewPlcTIME_OF_DAY(value), nil
<#break>
<#case "DATE">
<#if helper.hasFieldsWithNames(case.fields, "year", "month", "day")>
value := time.Date(int(year), time.Month(month), int(day), 0, 0, 0, 0, nil)<@emitImport import="time" />
</#if>
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
return values.NewPlcDATE(value), nil
<#break>
<#case "DATE_AND_TIME">
@@ -167,20 +167,20 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#elseif helper.hasFieldsWithNames(case.fields, "secondsSinceEpoch")>
value := time.Unix(int64(secondsSinceEpoch), 0)<@emitImport import="time" />
</#if>
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
return values.NewPlcDATE_AND_TIME(value), nil
<#break>
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
<#case "Struct">
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
return values.NewPlcStruct(_map), nil
<#break>
<#case "List">
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
return values.NewPlcList(value), nil
<#break>
<#default>
- io.CloseContext("${type.name}")
+ readBuffer.CloseContext("${type.name}")
return values.NewPlc${case.name}(value), nil
</#switch>
</#if>
@@ -190,8 +190,8 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
return nil, errors.New("unsupported type")<@emitImport import="github.com/pkg/errors" />
}
-func ${type.name}Serialize(io utils.WriteBuffer, value api.PlcValue<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type) && !helper.isEnumTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
- io.PushContext("${type.name}")
+func ${type.name}Serialize(writeBuffer utils.WriteBuffer, value api.PlcValue<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type) && !helper.isEnumTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
+ writeBuffer.PushContext("${type.name}")
switch {
<#assign defaultSet=false>
<#list type.switchField.cases as case>
@@ -246,7 +246,7 @@ func ${type.name}Serialize(io utils.WriteBuffer, value api.PlcValue<#if type.par
return errors.New("unsupported type")<@emitImport import="github.com/pkg/errors" />
</#if>
}
- io.PopContext("${type.name}")
+ writeBuffer.PopContext("${type.name}")
return nil
}
</...@importSectionWithContentBelow>
diff --git a/build-utils/language-go/src/main/resources/templates/go/enum-template.go.ftlh b/build-utils/language-go/src/main/resources/templates/go/enum-template.go.ftlh
index 21c25b7..527a56a 100644
--- a/build-utils/language-go/src/main/resources/templates/go/enum-template.go.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/enum-template.go.ftlh
@@ -50,9 +50,8 @@ package model
import (
"encoding/xml"
- "fmt"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
+ "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -66,9 +65,7 @@ type I${type.name} interface {
${constantName?cap_first}() ${helper.getLanguageTypeNameForTypeReference(type.getConstantType(constantName))}
</#list>
</#if>
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
const(
@@ -159,7 +156,7 @@ func (m ${type.name}) LengthInBytes() uint16 {
<#if type.type?has_content && helper.isSimpleTypeReference(type.type)>
<#assign simpleTypeReference = type.type>
<#if simpleTypeReference.getSizeInBits() != -1>
-func ${type.name}Parse(io utils.ReadBuffer) (${type.name}, error) {
+func ${type.name}Parse(readBuffer utils.ReadBuffer) (${type.name}, error) {
val, err := ${helper.getReadBufferReadMethodCall(type.name, helper.getEnumBaseTypeReference(type.typeReference))}
if err != nil {
return <#if helper.isStringTypeReference(type.type)>""<#elseif baseType == "bool">false<#else>0</#if>, nil
@@ -167,14 +164,12 @@ func ${type.name}Parse(io utils.ReadBuffer) (${type.name}, error) {
return ${type.name}ByValue(val), nil
}
-func (e ${type.name}) Serialize(io utils.WriteBuffer) error {
- err := ${helper.getWriteBufferWriteMethodCall(type.name, helper.getEnumBaseTypeReference(type.typeReference), helper.getLanguageTypeNameForTypeReference(helper.getEnumBaseTypeReference(type.typeReference)) + "(e)", null, "utils.WithAdditionalStringRepresentation(e.name())")}
- return err
+func (e ${type.name}) Serialize(writeBuffer utils.WriteBuffer) error {
+ return ${helper.getWriteBufferWriteMethodCall(type.name, helper.getEnumBaseTypeReference(type.typeReference), helper.getLanguageTypeNameForTypeReference(helper.getEnumBaseTypeReference(type.typeReference)) + "(e)", null, "utils.WithAdditionalStringRepresentation(e.name())")}
}
</#if>
</#if>
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
func (m *${type.name}) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
@@ -194,7 +189,6 @@ func (m *${type.name}) UnmarshalXML(d *xml.Decoder, start xml.StartElement) erro
}
}
-// Deprecated: the utils.WriteBufferReadBased should be used instead
func (m ${type.name}) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if err := e.EncodeElement(m.String(), start); err != nil {
return err
@@ -216,18 +210,4 @@ func (e ${type.name}) String() string {
return e.name()
}
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m ${type.name}) Box(s string, i int) utils.AsciiBox {
- boxName := "${type.name}"
- if s != "" {
- boxName += "/" + s
- }
- <#if helper.isSimpleTypeReference(type.type) && !helper.isStringTypeReference(type.type)>
- <#assign simpleTypeReference=type.type>
- <#assign hexDigits=(simpleTypeReference.getSizeInBits()/4)?ceiling>
- <#else>
- <#assign hexDigits=2>
- </#if>
- return utils.BoxString(boxName, fmt.Sprintf("%#0*x %s", ${hexDigits}, ${baseType}(m), m.name()), -1)
-}
</#outputformat>
\ No newline at end of file
diff --git a/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh b/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
index ab1ffa0..1f29983 100644
--- a/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
@@ -122,9 +122,7 @@ type I${type.name} interface {
</#if>
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler<@emitImport import="encoding/xml" />
- xml.Unmarshaler<@emitImport import="encoding/xml" />
+ Serialize(writeBuffer utils.WriteBuffer) error
}
<#if helper.isDiscriminatedChildTypeDefinition()>
<#assign discriminatedChildType = type>
@@ -145,16 +143,15 @@ func (m *${type.name}) ${discriminatorName?cap_first}() ${helper.getLanguageType
<#if helper.isDiscriminatedParentTypeDefinition()>
type I${type.name}Parent interface {
- SerializeParent(io utils.WriteBuffer, child I${type.name}, serializeChildFunction func() error<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child I${type.name}, serializeChildFunction func() error<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error
GetTypeName() string
}
type I${type.name}Child interface {
- Serialize(io utils.WriteBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error
+ Serialize(writeBuffer utils.WriteBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error
InitializeParent(parent *${type.name}<#if type.getPropertyFields()?has_content>, <#list type.getPropertyFields() as field>${field.name} <#if field.loopType??>[]</#if><#if helper.needsPointerAccess(field)>*</#if>${helper.getLanguageTypeNameForField(field)}<#sep>, </#sep></#list></#if>)
GetTypeName() string
I${type.name}
- utils.AsciiBoxer
}
<#--list helper.getDiscriminatorTypes() as discriminatorName, discriminatorType>
<#- If the discriminator name matches that of another field, suppress the methods generation ->
@@ -534,12 +531,12 @@ func (m *${type.name}) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type)>*</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (*<#if type.parentType?has_content>${type.parentType.name}<#else>${type.name}</#if>, error) {
- if pullErr := io.PullContext("${type.name}"); pullErr != nil {
+func ${type.name}Parse(readBuffer utils.ReadBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type)>*</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (*<#if type.parentType?has_content>${type.parentType.name}<#else>${type.name}</#if>, error) {
+ if pullErr := readBuffer.PullContext("${type.name}"); pullErr != nil {
return nil, pullErr
}
<#if helper.requiresStartPosAndCurPos()>
- var startPos = io.GetPos()<@emitImport import="io" />
+ var startPos = readBuffer.GetPos()
var curPos uint16
</#if>
<#list type.fields as field>
@@ -564,19 +561,19 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
</#compress>
</#assign>
${numberOfBytesExpression}
- ${arrayField.name}, _readArrayErr := io.ReadByteArray("${arrayField.name}", numberOfBytes)
+ ${arrayField.name}, _readArrayErr := readBuffer.ReadByteArray("${arrayField.name}", numberOfBytes)
if _readArrayErr != nil {
return nil, errors.Wrap(_readArrayErr, "Error parsing '${arrayField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
<#else>
// Array field (${arrayField.name})
- if pullErr := io.PullContext("${arrayField.name}", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("${arrayField.name}", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
<#-- Only update curPos if the length expression uses it -->
<#if arrayField.loopExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
<#-- If this is a count array, we can directly initialize an array with the given size -->
<#if helper.isCountArrayField(field)>
@@ -586,7 +583,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#if (!helper.isSimpleTypeReference(arrayField.type)) && helper.requiresVariable(arrayField, "lastItem")>
lastItem := curItem == uint16(${helper.toParseExpression(arrayField, arrayField.loopExpression, type.parserArguments)} - 1)
</#if>
- _item, _err := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall("", arrayField.type)}<#else>${arrayField.type.name}Parse(io<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${helper.toTypedParseExpression(helper.getArgumentType(arrayField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></#list></# [...]
+ _item, _err := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall("", arrayField.type)}<#else>${arrayField.type.name}Parse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${helper.toTypedParseExpression(helper.getArgumentType(arrayField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></# [...]
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing '${arrayField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
@@ -598,16 +595,16 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
// Length array
${arrayField.name} := make([]<#if helper.isComplexTypeReference(arrayField.type)>*</#if>${helper.getLanguageTypeNameForField(field)}, 0)
_${arrayField.name}Length := ${helper.toIntegerParseExpression(16, arrayField.loopExpression, type.parserArguments)}
- _${arrayField.name}EndPos := io.GetPos() + uint16(_${arrayField.name}Length)
- for ;io.GetPos() < _${arrayField.name}EndPos; {<@emitImport import="io" />
- _item, _err := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall("", arrayField.type)}<#else>${arrayField.type.name}Parse(io<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${helper.toTypedParseExpression(helper.getArgumentType(arrayField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></#list></# [...]
+ _${arrayField.name}EndPos := readBuffer.GetPos() + uint16(_${arrayField.name}Length)
+ for ;readBuffer.GetPos() < _${arrayField.name}EndPos; {
+ _item, _err := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall("", arrayField.type)}<#else>${arrayField.type.name}Parse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${helper.toTypedParseExpression(helper.getArgumentType(arrayField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></# [...]
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing '${arrayField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
${arrayField.name} = append(${arrayField.name}, _item)
<#-- After parsing, update the current position, but only if it's needed -->
<#if arrayField.loopExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
}
<#-- A terminated array keeps on reading data as long as the termination expression evaluates to false -->
@@ -615,7 +612,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
// Terminated array
${arrayField.name} := make([]<#if helper.isComplexTypeReference(arrayField.type)>*</#if>${helper.getLanguageTypeNameForField(field)}, 0)
for ;!bool(${helper.toParseExpression(arrayField, arrayField.loopExpression, type.parserArguments)}); {
- _item, _err := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall("", arrayField.type)}<#else>${arrayField.type.name}Parse(io<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${helper.toTypedParseExpression(helper.getArgumentType(arrayField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></#list></# [...]
+ _item, _err := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall("", arrayField.type)}<#else>${arrayField.type.name}Parse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${helper.toTypedParseExpression(helper.getArgumentType(arrayField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></# [...]
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing '${arrayField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
@@ -623,11 +620,11 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#-- After parsing, update the current position, but only if it's needed -->
<#if arrayField.loopExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
}
</#if>
- if closeErr := io.CloseContext("${arrayField.name}", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("${arrayField.name}", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
</#if>
@@ -670,7 +667,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
// Discriminator Field (${discriminatorField.name}) (Used as input to a switch field)
<#if helper.isEnumField(field)>
- ${helper.getVariableName(field)}_temp, _${discriminatorField.name}Err := ${helper.getLanguageTypeNameForField(discriminatorField)}Parse(io)
+ ${helper.getVariableName(field)}_temp, _${discriminatorField.name}Err := ${helper.getLanguageTypeNameForField(discriminatorField)}Parse(readBuffer)
var ${helper.getVariableName(field)} *${helper.getLanguageTypeNameForField(discriminatorField)} = &${helper.getVariableName(field)}_temp
<#else>
${helper.getVariableName(field)}, _${discriminatorField.name}Err := ${helper.getReadBufferReadMethodCall(discriminatorField.name, simpleTypeReference)}
@@ -682,15 +679,15 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#case "enum">
<#assign enumField = field>
- if pullErr := io.PullContext("${enumField.name}"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("${enumField.name}"); pullErr != nil {
return nil, pullErr
}
// Enum field (${enumField.name})
- ${enumField.name}, _${enumField.name}Err := ${helper.getLanguageTypeNameForField(field)}Parse(io)
+ ${enumField.name}, _${enumField.name}Err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer)
if _${enumField.name}Err != nil {
return nil, errors.Wrap(_${enumField.name}Err, "Error parsing '${enumField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
- if closeErr := io.CloseContext("${enumField.name}"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("${enumField.name}"); closeErr != nil {
return nil, closeErr
}
<#break>
@@ -707,13 +704,13 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#break>
<#case "manualArray">
<#assign manualArrayField = field>
- if pullErr := io.PullContext("${manualArrayField.name}", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("${manualArrayField.name}", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Manual Array Field (${manualArrayField.name})
<#-- Only update curPos if the length expression uses it -->
<#if manualArrayField.loopExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
<#-- If this is a count array, we can directly initialize an array with the given size -->
<#if helper.isCountArrayField(field)>
@@ -730,12 +727,12 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
// Length array
_${manualArrayField.name}Length := ${helper.toIntegerParseExpression(16, manualArrayField.loopExpression, type.parserArguments)}
_${manualArrayField.name}List := make([]${helper.getLanguageTypeNameForField(manualArrayField)}, 0)
- ${manualArrayField.name}EndPos := io.GetPos() + _${manualArrayField.name}Length<@emitImport import="io" />
- for ;io.GetPos() < ${manualArrayField.name}EndPos; {<@emitImport import="io" />
+ ${manualArrayField.name}EndPos := readBuffer.GetPos() + _${manualArrayField.name}Length
+ for ;readBuffer.GetPos() < ${manualArrayField.name}EndPos; {
_${manualArrayField.name}List = append(_${manualArrayField.name}List, ((${helper.getLanguageTypeNameForField(field)}) (${helper.toParseExpression(manualArrayField, manualArrayField.parseExpression, type.parserArguments)})))
<#-- After parsing, update the current position, but only if it's needed -->
<#if manualArrayField.loopExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
}
<#-- A terminated array keeps on reading data as long as the termination expression evaluates to false -->
@@ -747,7 +744,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#-- After parsing, update the current position, but only if it's needed -->
<#if manualArrayField.loopExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
}
</#if>
@@ -765,7 +762,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
${helper.getLanguageTypeNameForField(field)}[] ${manualArrayField.name} = _${manualArrayField.name}List.toArray(new ${helper.getLanguageTypeNameForField(manualArrayField)}[0])
</#if>
</#if>
- if closeErr := io.CloseContext("${manualArrayField.name}", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("${manualArrayField.name}", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
<#break>
@@ -783,7 +780,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
// Optional Field (${optionalField.name}) (Can be skipped, if a given expression evaluates to false)
<#if optionalField.conditionExpression.contains("curPos")>
- curPos = io.GetPos() - startPos<@emitImport import="io" />
+ curPos = readBuffer.GetPos() - startPos
</#if>
var ${optionalField.name} *${helper.getLanguageTypeNameForField(field)} = nil
if ${helper.toBooleanParseExpression(optionalField.conditionExpression, type.parserArguments)} {
@@ -794,13 +791,13 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
}
${optionalField.name} = &_val
<#elseif helper.isEnumField(field)>
- _val, _err := ${helper.getLanguageTypeNameForField(field)}Parse(io)
+ _val, _err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing '${optionalField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
${optionalField.name} = &_val
<#else>
- _val, _err := ${helper.getLanguageTypeNameForField(field)}Parse(io<#if field.params?has_content>, <#list field.params as parserArgument>${helper.toTypedParseExpression(helper.getArgumentType(optionalField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></#list></#if>)
+ _val, _err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>${helper.toTypedParseExpression(helper.getArgumentType(optionalField.type, parserArgument?index), parserArgument, type.parserArguments)}<#sep>, </#sep></#list></#if>)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing '${optionalField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
@@ -814,18 +811,18 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
// Padding Field (padding)
{
- if pullErr := io.PullContext("padding", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("padding", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
_timesPadding := (${helper.toParseExpression(paddingField, paddingField.paddingCondition, type.parserArguments)})
- for ;(io.HasMore(${helper.getNumBits(simpleTypeReference)})) && (_timesPadding > 0);_timesPadding-- {<@emitImport import="io" />
+ for ;(readBuffer.HasMore(${helper.getNumBits(simpleTypeReference)})) && (_timesPadding > 0);_timesPadding-- {
// Just read the padding data and ignore it
_, _err := ${helper.getReadBufferReadMethodCall("", simpleTypeReference)}
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'padding' field")<@emitImport import="github.com/pkg/errors" />
}
}
- if closeErr := io.CloseContext("padding", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("padding", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
}
@@ -852,14 +849,14 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#assign simpleField = field>
<#if !helper.isSimpleTypeReference(simpleField.type)>
- if pullErr := io.PullContext("${simpleField.name}"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("${simpleField.name}"); pullErr != nil {
return nil, pullErr
}
</#if>
// Simple Field (${simpleField.name})
<#assign simpleFieldLogicalName><#if helper.isSimpleTypeReference(simpleField.type) && !helper.isEnumField(field)>${simpleField.name}<#else>${simpleField.typeName}</#if></#assign>
- ${simpleField.name}, _${simpleField.name}Err := <#if helper.isSimpleTypeReference(simpleField.type)>${helper.getReadBufferReadMethodCall(simpleFieldLogicalName, simpleField.type, null, field)}<#else>${simpleField.type.name}Parse(io<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*<#elseif helper.needsReferenceForParserArgument(parserArgument.name, helper.getArgumentType(simpl [...]
+ ${simpleField.name}, _${simpleField.name}Err := <#if helper.isSimpleTypeReference(simpleField.type)>${helper.getReadBufferReadMethodCall(simpleFieldLogicalName, simpleField.type, null, field)}<#else>${simpleField.type.name}Parse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*<#elseif helper.needsReferenceForParserArgument(parserArgument.name, helper.getArgumentTy [...]
if _${simpleField.name}Err != nil {
<#if helper.isEnumField(field)>
return nil, errors.Wrap(_${simpleField.name}Err, "Error parsing '${simpleField.name}' field")<@emitImport import="github.com/pkg/errors" />
@@ -868,7 +865,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
</#if>
}
<#if !helper.isSimpleTypeReference(simpleField.type)>
- if closeErr := io.CloseContext("${simpleField.name}"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("${simpleField.name}"); closeErr != nil {
return nil, closeErr
}
</#if>
@@ -884,7 +881,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
<#list switchField.cases as case>
<#--TODO: refactor the line below into multiple assigns -->
<#if case.discriminatorValues?has_content>case <#list case.discriminatorValues as discriminatorValue><#if helper.isComplexTypeReference(helper.getDiscriminatorTypes()[helper.toParseExpression(null, switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)])><#if helper.isEnumTypeReference(helper.getDiscriminatorTypes()[helper.toParseExpression(null, switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)])>*</#if></#if>${helper.t [...]
- _parent, typeSwitchError = ${case.name}Parse(io<#if case.parserArguments?has_content>, <#list case.parserArguments as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${parserArgument.name}<#sep>, </#sep></#list></#if>)
+ _parent, typeSwitchError = ${case.name}Parse(readBuffer<#if case.parserArguments?has_content>, <#list case.parserArguments as parserArgument><#if helper.isOptionalField(helper.getFieldForNameFromCurrentOrParent(parserArgument.name))>*</#if>${parserArgument.name}<#sep>, </#sep></#list></#if>)
</#list>
default:
// TODO: return actual type
@@ -907,7 +904,7 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
</#switch>
</#list>
- if closeErr := io.CloseContext("${type.name}"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("${type.name}"); closeErr != nil {
return nil, closeErr
}
@@ -932,16 +929,16 @@ func ${type.name}Parse(io utils.ReadBuffer<#if type.parserArguments?has_content>
}
<#if helper.isDiscriminatedParentTypeDefinition()>
-func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
- return m.Child.Serialize(io<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
+func (m *${type.name}) Serialize(writeBuffer utils.WriteBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
+ return m.Child.Serialize(writeBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
}
-func (m *${type.name}) SerializeParent(io utils.WriteBuffer, child I${type.name}, serializeChildFunction func() error<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
+func (m *${type.name}) SerializeParent(writeBuffer utils.WriteBuffer, child I${type.name}, serializeChildFunction func() error<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
<#else>
-func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
+func (m *${type.name}) Serialize(writeBuffer utils.WriteBuffer<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
</#if>
<#if !helper.isDiscriminatedChildTypeDefinition()>
- if pushErr :=io.PushContext("${type.name}"); pushErr != nil {
+ if pushErr :=writeBuffer.PushContext("${type.name}"); pushErr != nil {
return pushErr
}
</#if>
@@ -960,7 +957,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
</#if>
<#if helper.isDiscriminatedChildTypeDefinition()>
ser := func() error {
- if pushErr := io.PushContext("${type.name}"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("${type.name}"); pushErr != nil {
return pushErr
}
</#if>
@@ -974,12 +971,12 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
if m.${arrayField.name?cap_first} != nil {
<#if helper.isByteBased(arrayField.type)>
// Byte Array field (${arrayField.name})
- _writeArrayErr := io.WriteByteArray("${arrayField.name}", m.${arrayField.name?cap_first})
+ _writeArrayErr := writeBuffer.WriteByteArray("${arrayField.name}", m.${arrayField.name?cap_first})
if _writeArrayErr != nil {
return errors.Wrap(_writeArrayErr, "Error serializing '${arrayField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
<#else>
- if pushErr := io.PushContext("${arrayField.name}", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("${arrayField.name}", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
<#if helper.isComplexTypeReference(arrayField.type) && (helper.needsVariable(arrayField, "curItem", true) || helper.needsVariable(arrayField, "lastItem", true))>
@@ -995,7 +992,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
<#if helper.needsVariable(arrayField, "lastItem", true)>
var lastItem bool = curItem == (itemCount - 1)
</#if>
- _elementErr := _element.Serialize(io<#if helper.getSerializerTerms(field.params)?has_content>, <#list helper.getSerializerTerms(field.params) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
+ _elementErr := _element.Serialize(writeBuffer<#if helper.getSerializerTerms(field.params)?has_content>, <#list helper.getSerializerTerms(field.params) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
</#if>
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing '${arrayField.name}' field")<@emitImport import="github.com/pkg/errors" />
@@ -1004,7 +1001,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
curItem++
</#if>
}
- if popErr := io.PopContext("${arrayField.name}", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("${arrayField.name}", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
</#if>
@@ -1043,7 +1040,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
// Discriminator Field (${discriminatorField.name}) (Used as input to a switch field)
${discriminatorField.name} := ${helper.getLanguageTypeNameForField(field)}(child.${discriminatorField.name?cap_first}())
<#if helper.isEnumField(field)>
- _${discriminatorField.name}Err := ${discriminatorField.name}.Serialize(io)
+ _${discriminatorField.name}Err := ${discriminatorField.name}.Serialize(writeBuffer)
<#else>
_${discriminatorField.name}Err := ${helper.getWriteBufferWriteMethodCall(discriminatorField.name, simpleTypeReference, "(" + discriminatorField.name + ")", field)}
</#if>
@@ -1055,7 +1052,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
<#case "enum">
<#assign enumField = field>
- if pushErr := io.PushContext("${enumField.name}"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("${enumField.name}"); pushErr != nil {
return pushErr
}
<#if enumField.fieldName?has_content>
@@ -1068,12 +1065,12 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
<#else>
// Enum field (${enumField.name})
${enumField.name} := Cast${helper.getLanguageTypeNameForField(field)}(m.${enumField.name?cap_first})
- _${enumField.name}Err := ${enumField.name}.Serialize(io)
+ _${enumField.name}Err := ${enumField.name}.Serialize(writeBuffer)
if _${enumField.name}Err != nil {
return errors.Wrap(_${enumField.name}Err, "Error serializing '${enumField.name}' field")<@emitImport import="github.com/pkg/errors" />
}
</#if>
- if popErr := io.PopContext("${enumField.name}"); popErr != nil {
+ if popErr := writeBuffer.PopContext("${enumField.name}"); popErr != nil {
return popErr
}
<#break>
@@ -1093,14 +1090,14 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
// Manual Array Field (${manualArrayField.name})
if m.${manualArrayField.name?cap_first} != nil {
- if pushErr := io.PushContext("${manualArrayField.name}", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("${manualArrayField.name}", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
//for _, element := range m.${manualArrayField.name?cap_first} {
<#-- TODO at the moment the implementation below is broken as element get prefixed wrong -->
//${helper.toSerializationExpression(manualArrayField, manualArrayField.serializeExpression, type.parserArguments)}
//}
- if popErr := io.PopContext("${manualArrayField.name}", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("${manualArrayField.name}", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
@@ -1124,7 +1121,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
<#else>
<#assign complexTypeReference = optionalField.type>
${optionalField.name} = m.${optionalField.name?cap_first}
- _${optionalField.name}Err := ${optionalField.name}.Serialize(io)
+ _${optionalField.name}Err := ${optionalField.name}.Serialize(writeBuffer)
</#if>
if _${optionalField.name}Err != nil {
return errors.Wrap(_${optionalField.name}Err, "Error serializing '${optionalField.name}' field")<@emitImport import="github.com/pkg/errors" />
@@ -1137,7 +1134,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
// Padding Field (padding)
{
- if pushErr := io.PushContext("padding", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("padding", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
_timesPadding := uint8(${helper.toSerializationExpression(paddingField, paddingField.paddingCondition, type.parserArguments)})
@@ -1148,7 +1145,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
return errors.Wrap(_paddingErr, "Error serializing 'padding' field")<@emitImport import="github.com/pkg/errors" />
}
}
- if popErr := io.PopContext("padding", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("padding", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
@@ -1180,11 +1177,11 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
</#if>
<#else>
<#assign complexTypeReference = simpleField.type>
- if pushErr := io.PushContext("${simpleField.name}"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("${simpleField.name}"); pushErr != nil {
return pushErr
}
- _${simpleField.name}Err := m.${simpleField.name?cap_first}.Serialize(io)
- if popErr := io.PopContext("${simpleField.name}"); popErr != nil {
+ _${simpleField.name}Err := m.${simpleField.name?cap_first}.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("${simpleField.name}"); popErr != nil {
return popErr
}
</#if>
@@ -1207,459 +1204,20 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
</#list>
<#if helper.isDiscriminatedChildTypeDefinition()>
- if popErr := io.PopContext("${type.name}"); popErr != nil {
+ if popErr := writeBuffer.PopContext("${type.name}"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
<#else>
- if popErr := io.PopContext("${type.name}"); popErr != nil {
+ if popErr := writeBuffer.PopContext("${type.name}"); popErr != nil {
return popErr
}
return nil
</#if>
}
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *${type.name}) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {<@emitImport import="encoding/xml" />
- var token xml.Token<@emitImport import="encoding/xml" />
- var err error
- foundContent := false
- <#if helper.isDiscriminatedParentTypeDefinition()>
- if start.Attr != nil && len(start.Attr ) > 0 {
- switch start.Attr[0].Value {
- <#list helper.getUniqueSwitchCases(helper.getSwitchField().cases) as subtype>
- <#if subtype.fields?size == 0>
- // ${subtype.name} needs special treatment as it has no fields
- case "org.apache.plc4x.java.${protocolName}.${outputFlavor?replace("-","")}.${subtype.name}":
- if m.Child == nil {
- m.Child = &${subtype.name}{
- Parent: m,
- }
- }
- </#if>
- </#list>
- }
- }
- </#if>
- <#if helper.isDiscriminatedChildTypeDefinition()>
- token = start
- </#if>
- for {
- <#if !helper.isDiscriminatedChildTypeDefinition()>
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {<@emitImport import="io" />
- return nil
- }
- return err
- }
- </#if>
- switch token.(type) {
- case xml.StartElement:<@emitImport import="encoding/xml" />
- foundContent = true
- tok := token.(xml.StartElement)<@emitImport import="encoding/xml" />
- switch tok.Name.Local {
- <#if type.fields?has_content>
- <#assign hasSwitch = false>
- <#list type.fields as field>
- <#if helper.isSwitchField(field)>
- <#assign hasSwitch = true>
- <#elseif helper.isPropertyField(field) && !helper.isConstField(field) && !helper.isVirtualField(field)>
- case "${field.name}":
- <#-- int8 arrays are serialized in hex encoding -->
- <#if helper.isArrayField(field) && (helper.getLanguageTypeNameForField(field) == 'int8')>
- var _encoded string
- if err := d.DecodeElement(&_encoded, &tok); err != nil {
- return err
- }
- _decoded, err := hex.DecodeString(_encoded)${helper.emitRequiredImport("encoding/hex")}
- _len := len(_decoded)
- if err != nil {
- return err
- }
- m.${field.name?cap_first} = utils.ByteArrayToInt8Array(_decoded[0:_len])
- <#elseif helper.isComplexTypeReference(field.type) && helper.isDiscriminatedParentTypeDefinition(helper.getTypeDefinitionForTypeReference(field.type))>
- <#if helper.isArrayField(field)>
- arrayLoop: for {
- token, err = d.Token()
- switch token.(type) {
- case xml.StartElement:<@emitImport import="encoding/xml" />
- tok := token.(xml.StartElement)<@emitImport import="encoding/xml" />
- var dt *${helper.getLanguageTypeNameForField(field)}
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- m.${field.name?cap_first} = append(m.${field.name?cap_first}, dt)
- default:
- break arrayLoop
- }
- }
- <#else>
- var dt *${helper.getLanguageTypeNameForField(field)}
- if err := d.DecodeElement(&dt, &tok); err != nil {
- if err == io.EOF {
- continue
- }
- return err
- }
- m.${field.name?cap_first} = dt
- </#if>
- <#elseif helper.isArrayField(field)>
- var data []<#if helper.isComplexTypeReference(field.type)>*</#if>${helper.getLanguageTypeNameForField(field)}
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.${field.name?cap_first} = data
- <#--TODO: we need all optional fields to not intialized-->
- <#elseif helper.needsPointerAccess(field) && helper.isOptionalField(field) && !helper.isComplex(field)>
- // When working with pointers we need to check for an empty element
- var dataString string
- if err := d.DecodeElement(&dataString, &tok); err != nil {
- return err
- }
- if dataString != "" {
- atoi, err := strconv.Atoi(dataString)<@emitImport import="strconv" />
- if err != nil {
- return err
- }
- data := ${helper.getLanguageTypeNameForField(field)}(atoi)
- m.${field.name?cap_first} = &data
- }
- <#elseif helper.needsPointerAccess(field)>
- var data ${helper.getLanguageTypeNameForField(field)}
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.${field.name?cap_first} = &data
- <#elseif helper.isManualArrayField(field)>
- // TODO: not implemented yet
- <#else>
- var data ${helper.getLanguageTypeNameForField(field)}
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.${field.name?cap_first} = data
- </#if>
- </#if>
- </#list>
- <#if hasSwitch>
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of ${type.name}")
- }
- switch attr[0].Value {
- <#list helper.getUniqueSwitchCases(helper.getSwitchField().cases) as subtype>
- case "org.apache.plc4x.java.${protocolName}.${outputFlavor?replace("-","")}.${subtype.name}":
- var dt *${subtype.name}
- if m.Child != nil {
- dt = m.Child.(*${subtype.name})
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- <#if helper.isArrayField(field)>
- _values = append(_values, dt)
- <#else>
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- </#if>
- </#list>
- }
- </#if>
- </#if>
- }
- }
- <#if helper.isDiscriminatedChildTypeDefinition()>
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {<@emitImport import="io" />
- return nil
- }
- return err
- }
- </#if>
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *${type.name}) MarshalXML(e *xml.Encoder, start xml.StartElement) error {<@emitImport import="encoding/xml" />
- <#if helper.isDiscriminatedParentTypeDefinition()>
- className := reflect.TypeOf(m.Child).String()<@emitImport import="reflect" />
- className = "org.apache.plc4x.java.${protocolName}.${outputFlavor?replace("-","")}." + className[strings.LastIndex(className, ".") + 1:]${helper.emitRequiredImport("strings")}
- <#elseif !helper.isDiscriminatedChildTypeDefinition()>
- className := "org.apache.plc4x.java.${protocolName}.${outputFlavor?replace("-","")}.${type.name}"
- </#if>
- <#if !helper.isDiscriminatedChildTypeDefinition()>
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{<@emitImport import="encoding/xml" />
- {Name: xml.Name{Local: "className"}, Value: className},<@emitImport import="encoding/xml" />
- }}); err != nil {
- return err
- }
- </#if>
- <#if type.fields?has_content>
- <#list type.fields as field>
- <#if helper.isPropertyField(field) && !helper.isConstField(field) && !helper.isVirtualField(field)>
- <#-- int8 arrays are serialized in hex string encoding -->
- <#if helper.isArrayField(field) && (helper.getLanguageTypeNameForField(field) == 'int8')>
- _encoded${field.name?cap_first} := hex.EncodeToString(utils.Int8ArrayToByteArray(m.${field.name?cap_first}))${helper.emitRequiredImport("encoding/hex")}
- _encoded${field.name?cap_first} = strings.ToUpper(_encoded${field.name?cap_first})${helper.emitRequiredImport("strings")}
- if err := e.EncodeElement(_encoded${field.name?cap_first}, xml.StartElement{Name: xml.Name{Local: "${field.name}"}}); err != nil {<@emitImport import="encoding/xml" />
- return err
- }
- <#-- normal arrays have one element with the same name wrapping them -->
- <#elseif helper.isArrayField(field) && helper.isComplexTypeReference(field.type)>
- if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "${field.name}"}}); err != nil {<@emitImport import="encoding/xml" />
- return err
- }
- for _, arrayElement := range m.${field.name?cap_first} {
- if err := e.EncodeElement(arrayElement, xml.StartElement{Name: xml.Name{Local: "${field.name}"}}); err != nil {<@emitImport import="encoding/xml" />
- return err
- }
- }
- if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "${field.name}"}}); err != nil {<@emitImport import="encoding/xml" />
- return err
- }
- <#else>
- if err := e.EncodeElement(m.${field.name?cap_first}, xml.StartElement{Name: xml.Name{Local: "${field.name}"}}); err != nil {<@emitImport import="encoding/xml" />
- return err
- }
- </#if>
- </#if>
- </#list>
- <#-- TODO: we seperated these two loops because the way jackson/java renders fields-->
- <#list type.fields as field>
- <#if helper.isSwitchField(field)>
- marshaller, ok := m.Child.(xml.Marshaler)<@emitImport import="encoding/xml" />
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)<@emitImport import="github.com/pkg/errors" />
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- </#if>
- </#list>
- </#if>
- <#if !helper.isDiscriminatedChildTypeDefinition()>
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {<@emitImport import="encoding/xml" />
- return err
- }
- </#if>
- return nil
-}
-
-func (m ${type.name}) String() string {
- return string(m.Box("", 120))
-}
-
-<#if helper.isDiscriminatedParentTypeDefinition()>
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *${type.name}) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *${type.name}) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox ) utils.AsciiBox {
-<#else>
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m ${type.name}) Box(name string, width int) utils.AsciiBox {
-</#if>
- boxName := "${type.name}"
- if name != "" {
- boxName += "/" + name
- }
- <#assign arraySizeInBytesHelpers=helper.requiresHelperFunctions("ARRAY_SIZE_IN_BYTES")>
- <#if arraySizeInBytesHelpers?has_content>
- <#list arraySizeInBytesHelpers?keys as key>
- <#assign typeName=arraySizeInBytesHelpers[key]>
- ${key}ArraySizeInBytes := func(items []*${typeName}) uint32 {
- var sizeInBytes uint32 = 0
- for _, v := range items {
- sizeInBytes += uint32(v.LengthInBytes())
- }
- return sizeInBytes
- }
- </#list>
- </#if>
- <#if helper.isDiscriminatedChildTypeDefinition()>
- childBoxer := func() []utils.AsciiBox {
- </#if>
- boxes := make([]utils.AsciiBox, 0)
- <#if type.fields?has_content>
- <#list type.fields as field>
- <#switch field.typeName>
- <#case "array">
- <#assign arrayField = field>
- <#assign simpleTypeReference = arrayField.type>
- // Array Field (${arrayField.name})
- if m.${arrayField.name?cap_first} != nil {
- <#if helper.isSimpleTypeReference(arrayField.type)>
- <#assign simpleTypeReference = arrayField.type>
- <#switch helper.getLanguageTypeNameForTypeReference(arrayField.type)>
- <#case "uint8">
- // Simple array base type ${helper.getLanguageTypeNameForTypeReference(arrayField.type)} will be hex dumped
- boxes = append(boxes, utils.BoxedDumpAnything("${arrayField.name?cap_first}", m.${arrayField.name?cap_first}))
- <#default>
- // Simple array base type ${helper.getLanguageTypeNameForTypeReference(arrayField.type)} will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.${arrayField.name?cap_first} {
- <#assign complexTypeReference = arrayField.type>
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("${arrayField.name?cap_first}", utils.AlignBoxes(arrayBoxes, width-4), 0))
- </#switch>
- <#else>
- // Complex array base type
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.${arrayField.name?cap_first} {
- <#assign complexTypeReference = arrayField.type>
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("${arrayField.name?cap_first}", utils.AlignBoxes(arrayBoxes, width-4), 0))
- </#if>
- }
- <#break>
- <#case "checksum">
- <#assign checksumField = field>
- <#assign simpleTypeReference = checksumField.type>
- // Checksum Field (checksum) (Calculated)
- _checksum, _ := ${helper.toSerializationExpression(checksumField, checksumField.checksumExpression, type.parserArguments)}
- boxes = append(boxes, utils.BoxAnything("${constField.name?cap_first}", _checksum, -1))
- <#break>
- <#case "const">
- <#assign constField = field>
- <#assign simpleTypeReference = constField.type>
- <#assign baseType = helper.getLanguageTypeNameForTypeReference(simpleTypeReference)>
- // Const Field (${constField.name})
- boxes = append(boxes, utils.BoxAnything("${constField.name?cap_first}", ${baseType}(${constField.referenceValue}), -1))
- <#break>
- <#case "discriminator">
- <#assign discriminatorField = field>
- <#assign simpleTypeReference = discriminatorField.type>
- // Discriminator Field (${discriminatorField.name}) (Used as input to a switch field)
- ${discriminatorField.name} := ${helper.getLanguageTypeNameForField(field)}(m.Child.${discriminatorField.name?cap_first}())
- // ${helper.getLanguageTypeNameForField(field)} can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("${field.name?cap_first}", ${discriminatorField.name}, -1))
- <#if helper.isEnumField(field)>
- // TODO: implement boxing on enum
- //_${discriminatorField.name}Err := ${discriminatorField.name}.Box(discriminatorField.name, -1)
- </#if>
- <#break>
- <#case "enum">
- <#assign enumField = field>
- <#if enumField.fieldName?has_content>
- <#assign enumValueFieldAccessor="m."+enumField.name?cap_first+"."+enumField.fieldName?cap_first+"()">
- // Enum field (${enumField.name}) with value
- boxes = append(boxes, utils.BoxAnything("${enumField.name?cap_first}_"+m.${enumField.name?cap_first}.String(), ${enumValueFieldAccessor}, -1))
- <#else>
- // Enum field (${enumField.name})
- ${enumField.name} := Cast${helper.getLanguageTypeNameForField(field)}(m.${enumField.name?cap_first})
- boxes = append(boxes, ${enumField.name}.Box("${enumField.name}", -1))
- </#if>
- <#break>
- <#case "implicit">
- <#assign implicitField = field>
- <#assign simpleTypeReference = implicitField.type>
- // Implicit Field (${implicitField.name})
- ${implicitField.name} := ${helper.getLanguageTypeNameForField(field)}(${helper.toSerializationExpression(implicitField, implicitField.serializeExpression, type.parserArguments)})
- // ${helper.getLanguageTypeNameForField(field)} can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("${implicitField.name?cap_first}", ${implicitField.name}, -1))
- <#break>
- <#case "manualArray">
- <#assign manualArrayField = field>
- // Manual Array Field (${manualArrayField.name})
- //if m.${manualArrayField.name?cap_first} != nil {
- // for(${helper.getLanguageTypeNameForField(field)} element : m.${manualArrayField.name?cap_first}) {
- // TODO ${helper.toSerializationExpression(manualArrayField, manualArrayField.serializeExpression, type.parserArguments)}
- // }
- //}
- <#break>
- <#case "manual">
- <#assign manualField = field>
- // Manual Field (${manualField.name})
- // TODO: ${helper.toSerializationExpression(manualField, manualField.serializeExpression, type.parserArguments)}
- <#break>
- <#case "optional">
- <#assign optionalField = field>
- // Optional Field (${optionalField.name}) (Can be skipped, if the value is null)
- var ${optionalField.name} *${helper.getLanguageTypeNameForField(field)} = nil
- if m.${optionalField.name?cap_first} != nil {
- <#if helper.isSimpleTypeReference(optionalField.type)>
- <#assign simpleTypeReference = optionalField.type>
- ${optionalField.name} = m.${optionalField.name?cap_first}
- // ${helper.getLanguageTypeNameForField(field)} can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("${optionalField.name?cap_first}", *(${optionalField.name}), -1))
- <#else>
- <#assign complexTypeReference = optionalField.type>
- ${optionalField.name} = m.${optionalField.name?cap_first}
- boxes = append(boxes, ${optionalField.name}.Box("${optionalField.name}", width-2))
- </#if>
- }
- <#break>
- <#case "padding">
- <#assign paddingField = field>
- <#assign simpleTypeReference = paddingField.type>
- // Padding Field (padding)
- lastItem:=false // TODO: not sure if its worth to calculate here
- _=lastItem
- _timesPadding := uint8(${helper.toSerializationExpression(paddingField, paddingField.paddingCondition, type.parserArguments)})
- for ;_timesPadding > 0; _timesPadding-- {
- _paddingValue := ${helper.getLanguageTypeNameForField(field)}(${helper.toSerializationExpression(paddingField, paddingField.paddingValue, type.parserArguments)})
- boxes = append(boxes, utils.BoxAnything("padding", _paddingValue, -1))
- }
- <#break>
- <#case "reserved">
- <#assign reservedField = field>
- <#assign simpleTypeReference = reservedField.type>
- // Reserved Field (reserved)
- // reserved field can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("reserved", ${helper.getReservedValue(field)}, -1))
- <#break>
- <#case "simple">
- <#assign simpleField = field>
- <#if helper.isSimpleTypeReference(simpleField.type)>
- <#assign simpleTypeReference = simpleField.type>
- // Simple field (case simple)
- // ${helper.getLanguageTypeNameForField(field)} can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("${field.name?cap_first}", m.${field.name?cap_first}, -1))
- <#else>
- <#assign complexTypeReference = simpleField.type>
- // Complex field (case complex)
- boxes = append(boxes, m.${simpleField.name?cap_first}.Box("${simpleField.name}", width-2))
- </#if>
- <#break>
- <#case "switch">
- <#assign switchField = field>
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- <#break>
- <#default>
- <#if helper.isPropertyField(field) && !helper.isConstField(field) && !helper.isVirtualField(field)>
- // TODO: default case for "${field.name}" with type name "${field.typeName}" should not occur anymore
- boxes = append(boxes, utils.BoxAnything("${field.name?cap_first}", m.${field.name?cap_first}, width-2))
- <#else>
- // TODO: field "${field.name}" with type name "${field.typeName}" unmapped
- </#if>
- <#break>
- </#switch>
- </#list>
- </#if>
- <#if helper.isDiscriminatedChildTypeDefinition()>
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
- <#else>
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
- </#if>
-}
</...@importSectionWithContentBelow>
</#outputformat>
diff --git a/build-utils/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh b/build-utils/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh
index 5e75b5b..25ba5b2 100644
--- a/build-utils/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh
@@ -64,7 +64,6 @@ ${helper.fileName(protocolName, languageName, outputFlavor)?replace(".", "/")}/X
package ${outputFlavor?replace("-","")}
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/${helper.getSanitizedProtocolName()}/${outputFlavor?replace("-","")}/model"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
@@ -82,7 +81,6 @@ func init() {
_ = strconv.Atoi
_ = strings.Join
_ = utils.Dump
- _ = xml.NewDecoder
}
func (m ${helper.getSanitizedProtocolName()?cap_first}XmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
@@ -127,26 +125,12 @@ func (m ${helper.getSanitizedProtocolName()?cap_first}XmlParserHelper) Parse(typ
<#elseif !helper.isDiscriminatedParentTypeDefinition(typeDefinition) && !helper.isDiscriminatedChildTypeDefinition()>
return model.${typeDefinition.name}Parse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
<#else>
+ // TODO: implement ${typeDefinition.class}
+ _ = model.New${typeDefinition.name}
return nil, errors.New("${typeDefinition.name} unmappable")
</#if>
</#list>
}
return nil, errors.Errorf("Unsupported type %s", typeName)
}
-
-// Deprecated: will be removed in favor of Parse soon
-func (m ${helper.getSanitizedProtocolName()?cap_first}XmlParserHelper) ParseOld(typeName string, xmlString string) (interface{}, error) {
- switch typeName {
-<#list helper.getComplexTypeRootDefinitions() as typeDefinition>
- case "${typeDefinition.name}":
- var obj *model.${helper.getLanguageTypeNameForTypeReference(typeDefinition.typeReference)}
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err ,"error unmarshalling xml")
- }
- return obj, nil
-</#list>
- }
- return nil, errors.Errorf("Unsupported type %s", typeName)
-}
</#outputformat>
\ No newline at end of file
diff --git a/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java b/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
index 11265f1..bdddcbf 100644
--- a/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
+++ b/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
@@ -332,43 +332,43 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
public String getReadBufferReadMethodCall(String logicalName, SimpleTypeReference simpleTypeReference, String valueString, TypedField field) {
switch (simpleTypeReference.getBaseType()) {
case BIT: {
- return "io.readBit(\"" + logicalName + "\")";
+ return "readBuffer.readBit(\"" + logicalName + "\")";
}
case BYTE: {
ByteTypeReference byteTypeReference = (ByteTypeReference) simpleTypeReference;
- return "io.readByte(\"" + logicalName + "\")";
+ return "readBuffer.readByte(\"" + logicalName + "\")";
}
case UINT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 4) {
- return "io.readUnsignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readUnsignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.readUnsignedShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readUnsignedShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.readUnsignedInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readUnsignedInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.readUnsignedLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readUnsignedLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
- return "io.readUnsignedBigInteger(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readUnsignedBigInteger(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
case INT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.readSignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readSignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.readShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.readInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
if (integerTypeReference.getSizeInBits() <= 64) {
- return "io.readLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ")";
}
- return "io.readBigInteger(" + integerTypeReference.getSizeInBits() + ")";
+ return "readBuffer.readBigInteger(" + integerTypeReference.getSizeInBits() + ")";
}
case FLOAT: {
FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
@@ -376,7 +376,7 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
String typeCast = (floatTypeReference.getSizeInBits() <= 32) ? "float" : "double";
String defaultNull = (floatTypeReference.getSizeInBits() <= 32) ? "0.0f" : "0.0";
return "((Supplier<" + type + ">) (() -> {" +
- "\n return (" + typeCast + ") toFloat(io, \"" + logicalName + "\", " +
+ "\n return (" + typeCast + ") toFloat(readBuffer, \"" + logicalName + "\", " +
((floatTypeReference.getBaseType() == SimpleTypeReference.SimpleBaseType.FLOAT) ? "true" : "false") +
", " + floatTypeReference.getExponent() + ", " +
floatTypeReference.getMantissa() + ");" +
@@ -384,7 +384,7 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
}
case STRING: {
StringTypeReference stringTypeReference = (StringTypeReference) simpleTypeReference;
- return "io.readString(\"" + logicalName + "\", " + toParseExpression(field, stringTypeReference.getLengthExpression(), null) + ", \"" +
+ return "readBuffer.readString(\"" + logicalName + "\", " + toParseExpression(field, stringTypeReference.getLengthExpression(), null) + ", \"" +
stringTypeReference.getEncoding() + "\")";
}
}
@@ -403,58 +403,58 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
}
switch (simpleTypeReference.getBaseType()) {
case BIT: {
- return "io.writeBit(\"" + logicalName + "\", (boolean) " + fieldName + "" + writerArgsString + ")";
+ return "writeBuffer.writeBit(\"" + logicalName + "\", (boolean) " + fieldName + "" + writerArgsString + ")";
}
case BYTE: {
ByteTypeReference byteTypeReference = (ByteTypeReference) simpleTypeReference;
- return "io.writeByte(\"" + logicalName + "\", ((Number) " + fieldName + ").byteValue()" + writerArgsString + ")";
+ return "writeBuffer.writeByte(\"" + logicalName + "\", ((Number) " + fieldName + ").byteValue()" + writerArgsString + ")";
}
case UINT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 4) {
- return "io.writeUnsignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").byteValue()" + writerArgsString + ")";
+ return "writeBuffer.writeUnsignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").byteValue()" + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.writeUnsignedShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").shortValue()" + writerArgsString + ")";
+ return "writeBuffer.writeUnsignedShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").shortValue()" + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.writeUnsignedInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").intValue()" + writerArgsString + ")";
+ return "writeBuffer.writeUnsignedInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").intValue()" + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.writeUnsignedLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").longValue()" + writerArgsString + ")";
+ return "writeBuffer.writeUnsignedLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").longValue()" + writerArgsString + ")";
}
- return "io.writeUnsignedBigInteger(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", (BigInteger) " + fieldName + "" + writerArgsString + ")";
+ return "writeBuffer.writeUnsignedBigInteger(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", (BigInteger) " + fieldName + "" + writerArgsString + ")";
}
case INT: {
IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
if (integerTypeReference.getSizeInBits() <= 8) {
- return "io.writeSignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").byteValue()" + writerArgsString + ")";
+ return "writeBuffer.writeSignedByte(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").byteValue()" + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 16) {
- return "io.writeShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").shortValue()" + writerArgsString + ")";
+ return "writeBuffer.writeShort(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").shortValue()" + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 32) {
- return "io.writeInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").intValue()" + writerArgsString + ")";
+ return "writeBuffer.writeInt(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").intValue()" + writerArgsString + ")";
}
if (integerTypeReference.getSizeInBits() <= 64) {
- return "io.writeLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").longValue()" + writerArgsString + ")";
+ return "writeBuffer.writeLong(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + ").longValue()" + writerArgsString + ")";
}
- return "io.writeBigInteger(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", BigInteger.valueOf( " + fieldName + ")" + writerArgsString + ")";
+ return "writeBuffer.writeBigInteger(\"" + logicalName + "\", " + integerTypeReference.getSizeInBits() + ", BigInteger.valueOf( " + fieldName + ")" + writerArgsString + ")";
}
case FLOAT:
case UFLOAT: {
FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
if (floatTypeReference.getSizeInBits() <= 32) {
- return "io.writeFloat(\"" + logicalName + "\", " + fieldName + "," + floatTypeReference.getExponent() + "," + floatTypeReference.getMantissa() + "" + writerArgsString + ")";
+ return "writeBuffer.writeFloat(\"" + logicalName + "\", " + fieldName + "," + floatTypeReference.getExponent() + "," + floatTypeReference.getMantissa() + "" + writerArgsString + ")";
} else if (floatTypeReference.getSizeInBits() <= 64) {
- return "io.writeDouble(\"" + logicalName + "\", " + fieldName + "," + floatTypeReference.getExponent() + "," + floatTypeReference.getMantissa() + "" + writerArgsString + ")";
+ return "writeBuffer.writeDouble(\"" + logicalName + "\", " + fieldName + "," + floatTypeReference.getExponent() + "," + floatTypeReference.getMantissa() + "" + writerArgsString + ")";
} else {
throw new RuntimeException("Unsupported float type");
}
}
case STRING: {
StringTypeReference stringTypeReference = (StringTypeReference) simpleTypeReference;
- return "io.writeString(\"" + logicalName + "\", " + toSerializationExpression(field, stringTypeReference.getLengthExpression(), getThisTypeDefinition().getParserArguments()) + ", \"" +
+ return "writeBuffer.writeString(\"" + logicalName + "\", " + toSerializationExpression(field, stringTypeReference.getLengthExpression(), getThisTypeDefinition().getParserArguments()) + ", \"" +
stringTypeReference.getEncoding() + "\", (String) " + fieldName + "" + writerArgsString + ")";
}
}
@@ -628,8 +628,8 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
}
if (arg instanceof VariableLiteral) {
VariableLiteral va = (VariableLiteral) arg;
- // "io" is the default name of the reader argument which is always available.
- boolean isParserArg = "io".equals(va.getName());
+ // "readBuffer" is the default name of the reader argument which is always available.
+ boolean isParserArg = "readBuffer".equals(va.getName());
boolean isTypeArg = "_type".equals(va.getName());
if (!isParserArg && !isTypeArg && parserArguments != null) {
for (Argument parserArgument : parserArguments) {
@@ -713,8 +713,8 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
}
if (arg instanceof VariableLiteral) {
VariableLiteral va = (VariableLiteral) arg;
- // "io" and "_value" are always available in every parser.
- boolean isSerializerArg = "io".equals(va.getName()) || "_value".equals(va.getName()) || "element".equals(va.getName());
+ // "readBuffer" and "_value" are always available in every parser.
+ boolean isSerializerArg = "readBuffer".equals(va.getName()) || "writeBuffer".equals(va.getName()) || "_value".equals(va.getName()) || "element".equals(va.getName());
boolean isTypeArg = "_type".equals(va.getName());
if (!isSerializerArg && !isTypeArg && serialzerArguments != null) {
for (Argument serializerArgument : serialzerArguments) {
@@ -765,7 +765,7 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
if (arg instanceof VariableLiteral) {
VariableLiteral va = (VariableLiteral) arg;
- boolean isSerializerArg = "io".equals(va.getName());
+ boolean isSerializerArg = "readBuffer".equals(va.getName()) || "writeBuffer".equals(va.getName());
boolean isTypeArg = "_type".equals(va.getName());
if (!isSerializerArg && !isTypeArg && serialzerArguments != null) {
for (Argument serializerArgument : serialzerArguments) {
diff --git a/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh b/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
index 2353894..415a442 100644
--- a/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
@@ -89,7 +89,7 @@ import java.util.function.Supplier;
public class ${type.name}IO {
private static final Logger LOGGER = LoggerFactory.getLogger(${type.name}IO.class);
- public static PlcValue staticParse(ReadBuffer io<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
+ public static PlcValue staticParse(ReadBuffer readBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
<#assign defaultCaseOutput=false>
<#list type.switchField.cases as case>
<#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(type.parserArguments[discriminatorValue?index].type)><#if [...]
@@ -101,7 +101,7 @@ public class ${type.name}IO {
// Array field (${field.name})
<#-- Only update curPos if the length expression uses it -->
<#if field.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
<#-- If this is a count array, we can directly initialize an array with the given size -->
<#if helper.isCountArrayField(field)>
@@ -114,7 +114,7 @@ public class ${type.name}IO {
int itemCount = (int) ${helper.toParseExpression(field, field.loopExpression, type.parserArguments)};
${field.name} = new LinkedList<>();
for(int curItem = 0; curItem < itemCount; curItem++) {
- ${field.name}.add(new ${helper.getPlcValueTypeForTypeReference(field.type)}((${helper.getNonPrimitiveLanguageTypeNameForField(field)}) <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)})<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${hel [...]
+ ${field.name}.add(new ${helper.getPlcValueTypeForTypeReference(field.type)}((${helper.getNonPrimitiveLanguageTypeNameForField(field)}) <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)})<#else>${field.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)} [...]
}
}
<#-- In all other cases do we have to work with a list, that is later converted to an array -->
@@ -123,13 +123,13 @@ public class ${type.name}IO {
<#if helper.isLengthArrayField(field)>
// Length array
int _${field.name}Length = ${helper.toParseExpression(field, field.loopExpression, type.parserArguments)};
- int ${field.name}EndPos = io.getPos() + _${field.name}Length;
+ int ${field.name}EndPos = readBuffer.getPos() + _${field.name}Length;
List<PlcValue> value = new LinkedList<>();
- while(io.getPos() < ${field.name}EndPos) {
+ while(readBuffer.getPos() < ${field.name}EndPos) {
value.add(
<#if helper.isSimpleTypeReference(field.type)>
new ${helper.getPlcValueTypeForTypeReference(field.type)}(${helper.getReadBufferReadMethodCall(field.type, "", field)})
- <#else>${field.type.name}IO.staticParse(io
+ <#else>${field.type.name}IO.staticParse(readBuffer
<#if field.params?has_content>,
<#list field.params as parserArgument>
(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})
@@ -145,11 +145,11 @@ public class ${type.name}IO {
// Terminated array
List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> ${field.name} = new LinkedList<>();
while(!((boolean) (${helper.toParseExpression(field, field.loopExpression, type.parserArguments)}))) {
- ${field.name}.add(<#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep></#list></#if>)</#if>);
+ ${field.name}.add(<#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)}<#else>${field.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep></#list></#if>)</#if>);
<#-- After parsing, update the current position, but only if it's needed -->
<#if field.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
}
</#if>
@@ -202,7 +202,7 @@ public class ${type.name}IO {
${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = ${helper.getNonPrimitiveLanguageTypeNameForField(field)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(field.type), "", field)});
<#else>
// Simple Field (${field.name})
- ${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#s [...]
+ ${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)}<#else>${field.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArgumen [...]
</#if>
<#if case.name == "Struct" ||
((case.name == "DATE_AND_TIME") && ((field.name == "year") || (field.name == "month") || (field.name == "day") || (field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) ||
@@ -322,7 +322,7 @@ public class ${type.name}IO {
public static WriteBufferByteBased staticSerialize(PlcValue _value<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>, boolean littleEndian) throws ParseException {
<#assign defaultCaseOutput=false>
<#list type.switchField.cases as case><#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)},<#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(type.parserA [...]
- WriteBufferByteBased io = new WriteBufferByteBased((int) Math.ceil(((float) ${helper.getSizeInBits(case, type.parserArguments)}) / 8.0f), littleEndian);
+ WriteBufferByteBased writeBuffer = new WriteBufferByteBased((int) Math.ceil(((float) ${helper.getSizeInBits(case, type.parserArguments)}) / 8.0f), littleEndian);
<#list case.fields as field>
<#switch field.typeName>
@@ -342,8 +342,8 @@ public class ${type.name}IO {
</#if>
<#if case.name == "BOOL">
- while (io.getPos() < io.getData().length) {
- io.writeBit(false);
+ while (writeBuffer.getPos() < writeBuffer.getData().length) {
+ writeBuffer.writeBit(false);
}
</#if>
<#break>
@@ -379,12 +379,12 @@ public class ${type.name}IO {
<#if helper.isSimpleTypeReference(field.type)>
${helper.getWriteBufferWriteMethodCall(field.type, "(" + field.name + ")", field)};
<#else>
- ${field.type.name}IO.staticSerialize(io, ${field.name});
+ ${field.type.name}IO.staticSerialize(writeBuffer, ${field.name});
</#if>
<#break>
</#switch>
</#list>
- return io;
+ return writeBuffer;
}<#sep> else </#sep></#list>
<#if !defaultCaseOutput>
return null;
diff --git a/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh b/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
index 7048753..7f09b31 100644
--- a/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
@@ -91,7 +91,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#-- The parse and serialize methods here are just proxies for forwardning the requests to static counterparts -->
<#if !helper.isDiscriminatedChildTypeDefinition()>
@Override
- public ${type.name} parse(ReadBuffer io, Object... args) throws ParseException {
+ public ${type.name} parse(ReadBuffer readBuffer, Object... args) throws ParseException {
<#if type.parserArguments?has_content>
if((args == null) || (args.length != ${type.parserArguments?size})) {
throw new PlcRuntimeException("Wrong number of arguments, expected ${type.parserArguments?size}, but got " + args.length);
@@ -109,12 +109,12 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
}
</#list>
</#if>
- return ${type.name}IO.staticParse(io<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
+ return ${type.name}IO.staticParse(readBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
}
<#if outputFlavor != "passive">
@Override
- public void serialize(WriteBuffer io, ${type.name} value, Object... args) throws ParseException {
+ public void serialize(WriteBuffer writeBuffer, ${type.name} value, Object... args) throws ParseException {
<#if helper.getSerializerArguments(type.parserArguments)?has_content>
if((args == null) || (args.length != ${type.parserArguments?size})) {
throw new PlcRuntimeException("Wrong number of arguments, expected ${type.parserArguments?size}, but got " + args.length);
@@ -126,28 +126,28 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${helper.getLanguageTypeNameForTypeReference(serializerArgument.type, false)} ${serializerArgument.name} = (${helper.getLanguageTypeNameForTypeReference(serializerArgument.type, false)}) args[${serializerArgument?index}];
</#list>
</#if>
- ${type.name}IO.staticSerialize(io, value<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
+ ${type.name}IO.staticSerialize(writeBuffer, value<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
}
</#if>
<#else>
@Override
- public ${type.name} parse(ReadBuffer io, Object... args) throws ParseException {
- return (${type.name}) new ${type.parentType.name}IO().parse(io, args);
+ public ${type.name} parse(ReadBuffer readBuffer, Object... args) throws ParseException {
+ return (${type.name}) new ${type.parentType.name}IO().parse(readBuffer, args);
}
<#if outputFlavor != "passive">
@Override
- public void serialize(WriteBuffer io, ${type.name} value, Object... args) throws ParseException {
- new ${type.parentType.name}IO().serialize(io, value, args);
+ public void serialize(WriteBuffer writeBuffer, ${type.name} value, Object... args) throws ParseException {
+ new ${type.parentType.name}IO().serialize(writeBuffer, value, args);
}
</#if>
</#if>
<#-- Here come the actual parse and serialize methods that actually do the parsing and serlaizing -->
- public static ${type.name}<#if helper.isDiscriminatedChildTypeDefinition()>Builder</#if> staticParse(ReadBuffer io<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
- io.pullContext("${type.name}");
- int startPos = io.getPos();
+ public static ${type.name}<#if helper.isDiscriminatedChildTypeDefinition()>Builder</#if> staticParse(ReadBuffer readBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
+ readBuffer.pullContext("${type.name}");
+ int startPos = readBuffer.getPos();
int curPos;
<#list type.fields as field>
<#switch field.typeName>
@@ -171,13 +171,13 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
</#compress>
</#assign>
${numberOfBytesExpression}
- byte[] ${arrayField.name} = io.readByteArray("${arrayField.name}", numberOfBytes);
+ byte[] ${arrayField.name} = readBuffer.readByteArray("${arrayField.name}", numberOfBytes);
<#else>
// Array field (${arrayField.name})
- io.pullContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ readBuffer.pullContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
<#-- Only update curPos if the length expression uses it -->
<#if arrayField.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
<#-- If this is a count array, we can directly initialize an array with the given size -->
<#if helper.isCountArrayField(field)>
@@ -192,7 +192,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
for(int curItem = 0; curItem < itemCount; curItem++) {
<#-- When parsing simple types, there is nothing that could require the "lastItem" -->
<#if !helper.isSimpleTypeReference(arrayField.type)>boolean lastItem = curItem == (itemCount - 1);</#if>
- ${arrayField.name}[curItem] = <#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall("", simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayFie [...]
+ ${arrayField.name}[curItem] = <#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall("", simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression( [...]
}
}
<#-- In all other cases do we have to work with a list, that is later converted to an array -->
@@ -202,12 +202,12 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Length array
int _${arrayField.name}Length = ${helper.toParseExpression(arrayField, arrayField.loopExpression, type.parserArguments)};
List<${helper.getNonPrimitiveLanguageTypeNameForField(arrayField)}> _${arrayField.name}List = new LinkedList<>();
- int ${arrayField.name}EndPos = io.getPos() + _${arrayField.name}Length;
- while(io.getPos() < ${arrayField.name}EndPos) {
- _${arrayField.name}List.add(<#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall("", simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayField, pa [...]
+ int ${arrayField.name}EndPos = readBuffer.getPos() + _${arrayField.name}Length;
+ while(readBuffer.getPos() < ${arrayField.name}EndPos) {
+ _${arrayField.name}List.add(<#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall("", simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayF [...]
<#-- After parsing, update the current position, but only if it's needed -->
<#if arrayField.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
}
<#-- A terminated array keeps on reading data as long as the termination expression evaluates to false -->
@@ -215,11 +215,11 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Terminated array
List<${helper.getNonPrimitiveLanguageTypeNameForField(arrayField)}> _${arrayField.name}List = new LinkedList<>();
while(!((boolean) (${helper.toParseExpression(arrayField, arrayField.loopExpression, type.parserArguments)}))) {
- _${arrayField.name}List.add(<#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall("", simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayField, pa [...]
+ _${arrayField.name}List.add(<#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall("", simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayF [...]
<#-- After parsing, update the current position, but only if it's needed -->
<#if arrayField.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
}
</#if>
@@ -237,7 +237,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${helper.getLanguageTypeNameForField(field)}[] ${arrayField.name} = _${arrayField.name}List.toArray(new ${helper.getNonPrimitiveLanguageTypeNameForField(arrayField)}[0]);
</#if>
</#if>
- io.closeContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ readBuffer.closeContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
</#if>
<#break>
<#case "checksum">
@@ -272,21 +272,21 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#if helper.isEnumField(field)>
${helper.getLanguageTypeNameForField(field)} ${discriminatorField.name} = ${helper.getLanguageTypeNameForField(discriminatorField)}.enumForValue(${helper.getReadBufferReadMethodCall(discriminatorField.name, helper.getEnumBaseTypeReference(discriminatorField.type), "", discriminatorField)});
<#else>
- ${helper.getLanguageTypeNameForField(field)} ${discriminatorField.name} = <#if helper.isSimpleTypeReference(discriminatorField.type)>${helper.getReadBufferReadMethodCall(discriminatorField.name, discriminatorField.type, "", discriminatorField)}<#else>${discriminatorField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(discriminatorField.type, parserArgument?index) [...]
+ ${helper.getLanguageTypeNameForField(field)} ${discriminatorField.name} = <#if helper.isSimpleTypeReference(discriminatorField.type)>${helper.getReadBufferReadMethodCall(discriminatorField.name, discriminatorField.type, "", discriminatorField)}<#else>${discriminatorField.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(discriminatorField.type, parserArgumen [...]
</#if>
<#break>
<#case "enum">
<#assign enumField = field>
- io.pullContext("${enumField.name}");
+ readBuffer.pullContext("${enumField.name}");
// Enum field (${enumField.name})
<#if enumField.fieldName?has_content>
${helper.getLanguageTypeNameForField(field)} ${enumField.name} = ${helper.getLanguageTypeNameForField(field)}.firstEnumForField${enumField.fieldName?cap_first}(${helper.getReadBufferReadMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name, helper.getEnumBaseTypeReference(enumField.type), "", enumField)});
<#else>
${helper.getLanguageTypeNameForField(field)} ${enumField.name} = ${helper.getLanguageTypeNameForField(field)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name, helper.getEnumBaseTypeReference(enumField.type), "", enumField)});
</#if>
- io.closeContext("${enumField.name}");
+ readBuffer.closeContext("${enumField.name}");
<#break>
<#case "implicit">
<#assign implicitField = field>
@@ -298,11 +298,11 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#case "manualArray">
<#assign manualArrayField = field>
- io.pullContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ readBuffer.pullContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
// Manual Array Field (${manualArrayField.name})
<#-- Only update curPos if the length expression uses it -->
<#if manualArrayField.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
<#-- If this is a count array, we can directly initialize an array with the given size -->
<#if helper.isCountArrayField(field)>
@@ -319,12 +319,12 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Length array
int _${manualArrayField.name}Length = ${helper.toParseExpression(manualArrayField, manualArrayField.loopExpression, type.parserArguments)};
List<${helper.getNonPrimitiveLanguageTypeNameForField(manualArrayField)}> _${manualArrayField.name}List = new LinkedList<>();
- int ${manualArrayField.name}EndPos = io.getPos() + _${manualArrayField.name}Length;
- while(io.getPos() < ${manualArrayField.name}EndPos) {
+ int ${manualArrayField.name}EndPos = readBuffer.getPos() + _${manualArrayField.name}Length;
+ while(readBuffer.getPos() < ${manualArrayField.name}EndPos) {
_${manualArrayField.name}List.add((${helper.getLanguageTypeNameForField(field)}) (${helper.toParseExpression(manualArrayField, manualArrayField.parseExpression, type.parserArguments)}));
<#-- After parsing, update the current position, but only if it's needed -->
<#if manualArrayField.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
}
<#-- A terminated array keeps on reading data as long as the termination expression evaluates to false -->
@@ -336,7 +336,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#-- After parsing, update the current position, but only if it's needed -->
<#if manualArrayField.loopExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
}
</#if>
@@ -354,7 +354,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${helper.getLanguageTypeNameForField(field)}[] ${manualArrayField.name} = _${manualArrayField.name}List.toArray(new ${helper.getNonPrimitiveLanguageTypeNameForField(manualArrayField)}[0]);
</#if>
</#if>
- io.closeContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ readBuffer.closeContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
<#break>
<#case "manual">
<#assign manualField = field>
@@ -367,14 +367,14 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Optional Field (${optionalField.name}) (Can be skipped, if a given expression evaluates to false)
<#if optionalField.conditionExpression.contains("curPos")>
- curPos = io.getPos() - startPos;
+ curPos = readBuffer.getPos() - startPos;
</#if>
${helper.getLanguageTypeNameForField(field)} ${optionalField.name} = null;
if(${helper.toParseExpression(optionalField, optionalField.conditionExpression, type.parserArguments)}) {
<#if helper.isEnumField(field)>
${optionalField.name} = ${helper.getLanguageTypeNameForField(optionalField)}.enumForValue(${helper.getReadBufferReadMethodCall(optionalField.name, helper.getEnumBaseTypeReference(optionalField.type), "", optionalField)});
<#else>
- ${optionalField.name} = <#if helper.isSimpleTypeReference(optionalField.type)>${helper.getReadBufferReadMethodCall(optionalField.name, optionalField.type, "", optionalField)}<#else>${optionalField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(optionalField.type, parserArgument?index), true)}) (${helper.toParseExpression(optionalField, parserArgument, type.pa [...]
+ ${optionalField.name} = <#if helper.isSimpleTypeReference(optionalField.type)>${helper.getReadBufferReadMethodCall(optionalField.name, optionalField.type, "", optionalField)}<#else>${optionalField.type.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(optionalField.type, parserArgument?index), true)}) (${helper.toParseExpression(optionalField, parserArgument, [...]
</#if>
}
<#break>
@@ -384,13 +384,13 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Padding Field (padding)
{
- io.pullContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
+ readBuffer.pullContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
int _timesPadding = (int) (${helper.toParseExpression(paddingField, paddingField.paddingCondition, type.parserArguments)});
- while ((io.hasMore(${helper.getNumBits(simpleTypeReference)})) && (_timesPadding-- > 0)) {
+ while ((readBuffer.hasMore(${helper.getNumBits(simpleTypeReference)})) && (_timesPadding-- > 0)) {
// Just read the padding data and ignore it
${helper.getReadBufferReadMethodCall(simpleTypeReference, "", paddingField)};
}
- io.closeContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
+ readBuffer.closeContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
}
<#break>
<#case "reserved">
@@ -409,7 +409,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#assign simpleField = field>
<#if !helper.isSimpleTypeReference(simpleField.type)>
- io.pullContext("${simpleField.name}");
+ readBuffer.pullContext("${simpleField.name}");
</#if>
// Simple Field (${simpleField.name})
@@ -418,10 +418,10 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = ${helper.getLanguageTypeNameForField(simpleField)}.enumForValue(${helper.getReadBufferReadMethodCall(simpleField.type.name, helper.getEnumBaseTypeReference(simpleField.type), "", simpleField)});
<#else>
<#assign simpleFieldLogicalName><#if helper.isSimpleTypeReference(simpleField.type)>${simpleField.name}<#else>${simpleField.typeName}</#if></#assign>
- ${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = <#if helper.isSimpleTypeReference(simpleField.type)><#assign simpleTypeReference = simpleField.type>${helper.getReadBufferReadMethodCall(simpleFieldLogicalName, simpleTypeReference, "", simpleField)}<#else><#assign complexTypeReference = simpleField.type>${complexTypeReference.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeRefer [...]
+ ${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = <#if helper.isSimpleTypeReference(simpleField.type)><#assign simpleTypeReference = simpleField.type>${helper.getReadBufferReadMethodCall(simpleFieldLogicalName, simpleTypeReference, "", simpleField)}<#else><#assign complexTypeReference = simpleField.type>${complexTypeReference.name}IO.staticParse(readBuffer<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForT [...]
</#if>
<#if !helper.isSimpleTypeReference(simpleField.type)>
- io.closeContext("${simpleField.name}");
+ readBuffer.closeContext("${simpleField.name}");
</#if>
<#break>
<#case "switch">
@@ -431,7 +431,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${type.name}Builder builder = null;
<#list switchField.cases as case>
<#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(helper.getDiscriminatorTypes()[field.discriminatorE [...]
- builder = ${case.name}IO.staticParse(io<#if case.parserArguments?has_content>, <#list case.parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
+ builder = ${case.name}IO.staticParse(readBuffer<#if case.parserArguments?has_content>, <#list case.parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
}<#sep> else </#sep>
</#list>
if (builder == null) {
@@ -452,7 +452,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
</#switch>
</#list>
- io.closeContext("${type.name}");
+ readBuffer.closeContext("${type.name}");
// Create the instance
<#if helper.isDiscriminatedChildTypeDefinition()>
return new ${type.name}Builder(<#list type.propertyFields as field>${field.name}<#sep>, </#sep></#list>);
@@ -464,9 +464,9 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
}
<#if outputFlavor != "passive">
- public static void staticSerialize(WriteBuffer io, ${type.name} _value<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
- int startPos = io.getPos();
- io.pushContext("${type.name}");
+ public static void staticSerialize(WriteBuffer writeBuffer, ${type.name} _value<#if helper.getSerializerArguments(type.parserArguments)?has_content>, <#list helper.getSerializerArguments(type.parserArguments) as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
+ int startPos = writeBuffer.getPos();
+ writeBuffer.pushContext("${type.name}");
<#list type.fields as field>
<#switch field.typeName>
<#case "array">
@@ -477,9 +477,9 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
if(_value.get${arrayField.name?cap_first}() != null) {
<#if helper.isByteBased(arrayField.type)>
// Byte Array field (${arrayField.name})
- io.writeByteArray("${arrayField.name}", _value.get${arrayField.name?cap_first}());
+ writeBuffer.writeByteArray("${arrayField.name}", _value.get${arrayField.name?cap_first}());
<#else>
- io.pushContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ writeBuffer.pushContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
int itemCount = (int) _value.get${arrayField.name?cap_first}().length;
int curItem = 0;
for(${helper.getLanguageTypeNameForField(field)} element : _value.get${arrayField.name?cap_first}()) {
@@ -489,11 +489,11 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#else>
<#assign complexTypeReference = arrayField.type>
boolean lastItem = curItem == (itemCount - 1);
- ${complexTypeReference.name}IO.staticSerialize(io, element<#if helper.getSerializerTerms(field.params)?has_content>, <#list helper.getSerializerTerms(field.params) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
+ ${complexTypeReference.name}IO.staticSerialize(writeBuffer, element<#if helper.getSerializerTerms(field.params)?has_content>, <#list helper.getSerializerTerms(field.params) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>);
</#if>
curItem++;
}
- io.popContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ writeBuffer.popContext("${arrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
</#if>
}
<#break>
@@ -531,14 +531,14 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#if helper.isEnumField(field)>
${helper.getWriteBufferWriteMethodCall(discriminatorField.name, helper.getEnumBaseTypeReference(discriminatorField.type), "(" + discriminatorField.name + ".getValue())", field)};
<#else>
- ${complexTypeReference.name}IO.staticSerialize(io, ${discriminatorField.name});
+ ${complexTypeReference.name}IO.staticSerialize(writeBuffer, ${discriminatorField.name});
</#if>
</#if>
<#break>
<#case "enum">
<#assign enumField = field>
- io.pushContext("${enumField.name}");
+ writeBuffer.pushContext("${enumField.name}");
// Enum field (${enumField.name})
${helper.getLanguageTypeNameForField(field)} ${enumField.name} = (${helper.getLanguageTypeNameForField(field)}) _value.get${enumField.name?cap_first}();
<#if enumField.fieldName?has_content>
@@ -546,7 +546,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#else>
${helper.getWriteBufferWriteMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name, helper.getEnumBaseTypeReference(enumField.type), "(" + enumField.name + ".getValue())", field, "WithReaderWriterArgs.WithAdditionalStringRepresentation(${enumField.name}.name())")};
</#if>
- io.popContext("${enumField.name}");
+ writeBuffer.popContext("${enumField.name}");
<#break>
<#case "implicit">
<#assign implicitField = field>
@@ -561,11 +561,11 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Manual Array Field (${manualArrayField.name})
if(_value.get${manualArrayField.name?cap_first}() != null) {
- io.pushContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ writeBuffer.pushContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
for(${helper.getLanguageTypeNameForField(field)} element : _value.get${manualArrayField.name?cap_first}()) {
${helper.toSerializationExpression(manualArrayField, manualArrayField.serializeExpression, type.parserArguments)};
}
- io.popContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
+ writeBuffer.popContext("${manualArrayField.name}", WithReaderWriterArgs.WithRenderAsList(true));
}
<#break>
<#case "manual">
@@ -589,7 +589,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#if helper.isEnumField(field)>
${helper.getWriteBufferWriteMethodCall(optionalField.name, helper.getEnumBaseTypeReference(optionalField.type), "(" + optionalField.name + ".getValue())", field)};
<#else>
- ${complexTypeReference.name}IO.staticSerialize(io, ${optionalField.name});
+ ${complexTypeReference.name}IO.staticSerialize(writeBuffer, ${optionalField.name});
</#if>
</#if>
}
@@ -600,13 +600,13 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Padding Field (padding)
{
- io.pushContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
+ writeBuffer.pushContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
int _timesPadding = (int) (${helper.toSerializationExpression(paddingField, paddingField.paddingCondition, type.parserArguments)});
while (_timesPadding-- > 0) {
${helper.getLanguageTypeNameForField(field)} _paddingValue = (${helper.getLanguageTypeNameForField(field)}) (${helper.toSerializationExpression(paddingField, paddingField.paddingValue, type.parserArguments)});
${helper.getWriteBufferWriteMethodCall("", simpleTypeReference, "(_paddingValue)", field)};
}
- io.popContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
+ writeBuffer.popContext("padding", WithReaderWriterArgs.WithRenderAsList(true));
}
<#break>
<#case "reserved">
@@ -630,15 +630,15 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${helper.getWriteBufferWriteMethodCall(simpleField.name, simpleTypeReference, "(" + simpleField.name + ")", simpleField)};
</#if>
<#else>
- io.pushContext("${simpleField.name}");
+ writeBuffer.pushContext("${simpleField.name}");
<#assign complexTypeReference = simpleField.type>
<#if helper.isEnumField(field)>
// enum field with type ${simpleField.type.name}
${helper.getWriteBufferWriteMethodCall(simpleField.type.name, helper.getEnumBaseTypeReference(simpleField.type), "(" + simpleField.name + ".getValue())", simpleField, "WithReaderWriterArgs.WithAdditionalStringRepresentation(${simpleField.name}.name())")};
<#else>
- ${complexTypeReference.name}IO.staticSerialize(io, ${simpleField.name});
+ ${complexTypeReference.name}IO.staticSerialize(writeBuffer, ${simpleField.name});
</#if>
- io.popContext("${simpleField.name}");
+ writeBuffer.popContext("${simpleField.name}");
</#if>
<#break>
<#case "switch">
@@ -647,7 +647,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Switch field (Depending on the discriminator values, passes the instantiation to a sub-type)
<#list switchField.cases as case>
if(_value instanceof ${case.name}) {
- ${case.name}IO.staticSerialize(io, (${case.name}) _value);
+ ${case.name}IO.staticSerialize(writeBuffer, (${case.name}) _value);
}<#sep> else </#sep>
</#list>
<#break>
@@ -655,7 +655,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#break>
</#switch>
</#list>
- io.popContext("${type.name}");
+ writeBuffer.popContext("${type.name}");
}
</#if>
diff --git a/build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh b/build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh
index 3ff8cdb..589632f 100644
--- a/build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh
@@ -68,7 +68,6 @@ import static org.apache.plc4x.java.spi.generation.StaticHelper.*;
import ${helper.packageName(protocolName, languageName, outputFlavor)}.io.*;
import ${helper.packageName(protocolName, languageName, outputFlavor)}.types.*;
-import com.fasterxml.jackson.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.plc4x.java.api.value.*;
@@ -81,7 +80,6 @@ import java.math.BigInteger;
// Code generated by build-utils. DO NOT EDIT.
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "className")
public<#if helper.isDiscriminatedParentTypeDefinition()> abstract</#if> class ${type.name}<#if type.parentType??> extends ${type.parentType.name}</#if> implements Message {
<#--
@@ -95,7 +93,6 @@ public<#if helper.isDiscriminatedParentTypeDefinition()> abstract</#if> class ${
<#list helper.getDiscriminatorValues(discriminatedChildType) as discriminatorName, discriminatorValue>
<#-- If the discriminator name matches that of another field, suppress the methods generation -->
<#if !helper.isNonDiscriminatorField(discriminatorName)>
- @JsonIgnore
public ${helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])} get${discriminatorName?cap_first}() {
<#if !helper.isComplexTypeReference(helper.getDiscriminatorTypes()[discriminatorName])>
return <#if helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName]) = "String"><#if discriminatorValue??>"${discriminatorValue}"<#else>${helper.getNullValueForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}</#if><#else><#if discriminatorValue??>${helper.adjustLiterals(helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName]),discriminatorValue)}<#else>${helper.getNullValueForTypeReference( [...]
@@ -138,9 +135,8 @@ public<#if helper.isDiscriminatedParentTypeDefinition()> abstract</#if> class ${
</#list>
</#if>
- @JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
<#-- getAllPropertyFields() returns not only the property fields of this type but also of it's parents -->
- public ${type.name}(<#list type.getAllPropertyFields() as field>@JsonProperty("${field.name}") ${helper.getLanguageTypeNameForField(field)}<#if field.loopType??>[]</#if> ${field.name}<#sep>, </#sep></#list>) {
+ public ${type.name}(<#list type.getAllPropertyFields() as field>${helper.getLanguageTypeNameForField(field)}<#if field.loopType??>[]</#if> ${field.name}<#sep>, </#sep></#list>) {
<#if type.getParentPropertyFields()?has_content>
super(<#list type.getParentPropertyFields() as field>${field.name}<#sep>, </#sep></#list>);
</#if>
@@ -170,13 +166,11 @@ public<#if helper.isDiscriminatedParentTypeDefinition()> abstract</#if> class ${
</#list>
@Override
- @JsonIgnore
public int getLengthInBytes() {
return getLengthInBits() / 8;
}
@Override
- @JsonIgnore
public int getLengthInBits() {
return getLengthInBitsConditional(false);
}
@@ -338,7 +332,6 @@ public<#if helper.isDiscriminatedParentTypeDefinition()> abstract</#if> class ${
}
@Override
- @JsonIgnore
public MessageIO<<#if type.parentType??>${type.parentType.name}<#else>${type.name}</#if>, <#if type.parentType??>${type.parentType.name}<#else>${type.name}</#if>> getMessageIO() {
return new <#if type.parentType??>${type.parentType.name}<#else>${type.name}</#if>IO();
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
index 48edd0d..e0a0a0c 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
@@ -20,7 +20,6 @@
package readwrite
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/abeth/readwrite/model"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
@@ -38,54 +37,26 @@ func init() {
_ = strconv.Atoi
_ = strings.Join
_ = utils.Dump
- _ = xml.NewDecoder
}
func (m AbethXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
switch typeName {
case "DF1RequestCommand":
+ // TODO: implement class org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultComplexTypeDefinition
+ _ = model.NewDF1RequestCommand
return nil, errors.New("DF1RequestCommand unmappable")
case "DF1RequestMessage":
+ // TODO: implement class org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultComplexTypeDefinition
+ _ = model.NewDF1RequestMessage
return nil, errors.New("DF1RequestMessage unmappable")
case "DF1ResponseMessage":
+ // TODO: implement class org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultComplexTypeDefinition
+ _ = model.NewDF1ResponseMessage
return nil, errors.New("DF1ResponseMessage unmappable")
case "CIPEncapsulationPacket":
+ // TODO: implement class org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultComplexTypeDefinition
+ _ = model.NewCIPEncapsulationPacket
return nil, errors.New("CIPEncapsulationPacket unmappable")
}
return nil, errors.Errorf("Unsupported type %s", typeName)
}
-
-// Deprecated: will be removed in favor of Parse soon
-func (m AbethXmlParserHelper) ParseOld(typeName string, xmlString string) (interface{}, error) {
- switch typeName {
- case "DF1RequestCommand":
- var obj *model.DF1RequestCommand
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "DF1RequestMessage":
- var obj *model.DF1RequestMessage
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "DF1ResponseMessage":
- var obj *model.DF1ResponseMessage
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "CIPEncapsulationPacket":
- var obj *model.CIPEncapsulationPacket
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- }
- return nil, errors.Errorf("Unsupported type %s", typeName)
-}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
index 527bb2d..999dc03 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type CIPEncapsulationConnectionRequest struct {
type ICIPEncapsulationConnectionRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *CIPEncapsulationConnectionRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func CIPEncapsulationConnectionRequestParse(io utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
- if pullErr := io.PullContext("CIPEncapsulationConnectionRequest"); pullErr != nil {
+func CIPEncapsulationConnectionRequestParse(readBuffer utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
+ if pullErr := readBuffer.PullContext("CIPEncapsulationConnectionRequest"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("CIPEncapsulationConnectionRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("CIPEncapsulationConnectionRequest"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func CIPEncapsulationConnectionRequestParse(io utils.ReadBuffer) (*CIPEncapsulat
return _child.Parent, nil
}
-func (m *CIPEncapsulationConnectionRequest) Serialize(io utils.WriteBuffer) error {
+func (m *CIPEncapsulationConnectionRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("CIPEncapsulationConnectionRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("CIPEncapsulationConnectionRequest"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("CIPEncapsulationConnectionRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("CIPEncapsulationConnectionRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *CIPEncapsulationConnectionRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *CIPEncapsulationConnectionRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m CIPEncapsulationConnectionRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m CIPEncapsulationConnectionRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "CIPEncapsulationConnectionRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
index 25c063f..5f56c93 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type CIPEncapsulationConnectionResponse struct {
type ICIPEncapsulationConnectionResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *CIPEncapsulationConnectionResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func CIPEncapsulationConnectionResponseParse(io utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
- if pullErr := io.PullContext("CIPEncapsulationConnectionResponse"); pullErr != nil {
+func CIPEncapsulationConnectionResponseParse(readBuffer utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
+ if pullErr := readBuffer.PullContext("CIPEncapsulationConnectionResponse"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("CIPEncapsulationConnectionResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("CIPEncapsulationConnectionResponse"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func CIPEncapsulationConnectionResponseParse(io utils.ReadBuffer) (*CIPEncapsula
return _child.Parent, nil
}
-func (m *CIPEncapsulationConnectionResponse) Serialize(io utils.WriteBuffer) error {
+func (m *CIPEncapsulationConnectionResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("CIPEncapsulationConnectionResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("CIPEncapsulationConnectionResponse"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("CIPEncapsulationConnectionResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("CIPEncapsulationConnectionResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *CIPEncapsulationConnectionResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *CIPEncapsulationConnectionResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m CIPEncapsulationConnectionResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m CIPEncapsulationConnectionResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "CIPEncapsulationConnectionResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
index a41a69b..b03fd93 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
@@ -20,13 +20,9 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
- "io"
- "reflect"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -45,22 +41,19 @@ type ICIPEncapsulationPacket interface {
CommandType() uint16
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
type ICIPEncapsulationPacketParent interface {
- SerializeParent(io utils.WriteBuffer, child ICIPEncapsulationPacket, serializeChildFunction func() error) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child ICIPEncapsulationPacket, serializeChildFunction func() error) error
GetTypeName() string
}
type ICIPEncapsulationPacketChild interface {
- Serialize(io utils.WriteBuffer) error
+ Serialize(writeBuffer utils.WriteBuffer) error
InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32)
GetTypeName() string
ICIPEncapsulationPacket
- utils.AsciiBoxer
}
func NewCIPEncapsulationPacket(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
@@ -124,62 +117,62 @@ func (m *CIPEncapsulationPacket) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func CIPEncapsulationPacketParse(io utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
- if pullErr := io.PullContext("CIPEncapsulationPacket"); pullErr != nil {
+func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
+ if pullErr := readBuffer.PullContext("CIPEncapsulationPacket"); pullErr != nil {
return nil, pullErr
}
// Discriminator Field (commandType) (Used as input to a switch field)
- commandType, _commandTypeErr := io.ReadUint16("commandType", 16)
+ commandType, _commandTypeErr := readBuffer.ReadUint16("commandType", 16)
if _commandTypeErr != nil {
return nil, errors.Wrap(_commandTypeErr, "Error parsing 'commandType' field")
}
// Implicit Field (len) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- len, _lenErr := io.ReadUint16("len", 16)
+ len, _lenErr := readBuffer.ReadUint16("len", 16)
_ = len
if _lenErr != nil {
return nil, errors.Wrap(_lenErr, "Error parsing 'len' field")
}
// Simple Field (sessionHandle)
- sessionHandle, _sessionHandleErr := io.ReadUint32("sessionHandle", 32)
+ sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
if _sessionHandleErr != nil {
return nil, errors.Wrap(_sessionHandleErr, "Error parsing 'sessionHandle' field")
}
// Simple Field (status)
- status, _statusErr := io.ReadUint32("status", 32)
+ status, _statusErr := readBuffer.ReadUint32("status", 32)
if _statusErr != nil {
return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
}
// Array field (senderContext)
- if pullErr := io.PullContext("senderContext", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("senderContext", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
senderContext := make([]uint8, uint16(8))
for curItem := uint16(0); curItem < uint16(uint16(8)); curItem++ {
- _item, _err := io.ReadUint8("", 8)
+ _item, _err := readBuffer.ReadUint8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'senderContext' field")
}
senderContext[curItem] = _item
}
- if closeErr := io.CloseContext("senderContext", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("senderContext", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
// Simple Field (options)
- options, _optionsErr := io.ReadUint32("options", 32)
+ options, _optionsErr := readBuffer.ReadUint32("options", 32)
if _optionsErr != nil {
return nil, errors.Wrap(_optionsErr, "Error parsing 'options' field")
}
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
- reserved, _err := io.ReadUint32("reserved", 32)
+ reserved, _err := readBuffer.ReadUint32("reserved", 32)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'reserved' field")
}
@@ -196,13 +189,13 @@ func CIPEncapsulationPacketParse(io utils.ReadBuffer) (*CIPEncapsulationPacket,
var typeSwitchError error
switch {
case commandType == 0x0101: // CIPEncapsulationConnectionRequest
- _parent, typeSwitchError = CIPEncapsulationConnectionRequestParse(io)
+ _parent, typeSwitchError = CIPEncapsulationConnectionRequestParse(readBuffer)
case commandType == 0x0201: // CIPEncapsulationConnectionResponse
- _parent, typeSwitchError = CIPEncapsulationConnectionResponseParse(io)
+ _parent, typeSwitchError = CIPEncapsulationConnectionResponseParse(readBuffer)
case commandType == 0x0107: // CIPEncapsulationReadRequest
- _parent, typeSwitchError = CIPEncapsulationReadRequestParse(io)
+ _parent, typeSwitchError = CIPEncapsulationReadRequestParse(readBuffer)
case commandType == 0x0207: // CIPEncapsulationReadResponse
- _parent, typeSwitchError = CIPEncapsulationReadResponseParse(io, len)
+ _parent, typeSwitchError = CIPEncapsulationReadResponseParse(readBuffer, len)
default:
// TODO: return actual type
typeSwitchError = errors.New("Unmapped type")
@@ -211,7 +204,7 @@ func CIPEncapsulationPacketParse(io utils.ReadBuffer) (*CIPEncapsulationPacket,
return nil, errors.Wrap(typeSwitchError, "Error parsing sub-type for type-switch.")
}
- if closeErr := io.CloseContext("CIPEncapsulationPacket"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("CIPEncapsulationPacket"); closeErr != nil {
return nil, closeErr
}
@@ -220,18 +213,18 @@ func CIPEncapsulationPacketParse(io utils.ReadBuffer) (*CIPEncapsulationPacket,
return _parent, nil
}
-func (m *CIPEncapsulationPacket) Serialize(io utils.WriteBuffer) error {
- return m.Child.Serialize(io)
+func (m *CIPEncapsulationPacket) Serialize(writeBuffer utils.WriteBuffer) error {
+ return m.Child.Serialize(writeBuffer)
}
-func (m *CIPEncapsulationPacket) SerializeParent(io utils.WriteBuffer, child ICIPEncapsulationPacket, serializeChildFunction func() error) error {
- if pushErr := io.PushContext("CIPEncapsulationPacket"); pushErr != nil {
+func (m *CIPEncapsulationPacket) SerializeParent(writeBuffer utils.WriteBuffer, child ICIPEncapsulationPacket, serializeChildFunction func() error) error {
+ if pushErr := writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
return pushErr
}
// Discriminator Field (commandType) (Used as input to a switch field)
commandType := uint16(child.CommandType())
- _commandTypeErr := io.WriteUint16("commandType", 16, (commandType))
+ _commandTypeErr := writeBuffer.WriteUint16("commandType", 16, (commandType))
if _commandTypeErr != nil {
return errors.Wrap(_commandTypeErr, "Error serializing 'commandType' field")
@@ -239,51 +232,51 @@ func (m *CIPEncapsulationPacket) SerializeParent(io utils.WriteBuffer, child ICI
// Implicit Field (len) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
len := uint16(uint16(uint16(m.LengthInBytes())) - uint16(uint16(28)))
- _lenErr := io.WriteUint16("len", 16, (len))
+ _lenErr := writeBuffer.WriteUint16("len", 16, (len))
if _lenErr != nil {
return errors.Wrap(_lenErr, "Error serializing 'len' field")
}
// Simple Field (sessionHandle)
sessionHandle := uint32(m.SessionHandle)
- _sessionHandleErr := io.WriteUint32("sessionHandle", 32, (sessionHandle))
+ _sessionHandleErr := writeBuffer.WriteUint32("sessionHandle", 32, (sessionHandle))
if _sessionHandleErr != nil {
return errors.Wrap(_sessionHandleErr, "Error serializing 'sessionHandle' field")
}
// Simple Field (status)
status := uint32(m.Status)
- _statusErr := io.WriteUint32("status", 32, (status))
+ _statusErr := writeBuffer.WriteUint32("status", 32, (status))
if _statusErr != nil {
return errors.Wrap(_statusErr, "Error serializing 'status' field")
}
// Array Field (senderContext)
if m.SenderContext != nil {
- if pushErr := io.PushContext("senderContext", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("senderContext", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.SenderContext {
- _elementErr := io.WriteUint8("", 8, _element)
+ _elementErr := writeBuffer.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'senderContext' field")
}
}
- if popErr := io.PopContext("senderContext", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("senderContext", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
// Simple Field (options)
options := uint32(m.Options)
- _optionsErr := io.WriteUint32("options", 32, (options))
+ _optionsErr := writeBuffer.WriteUint32("options", 32, (options))
if _optionsErr != nil {
return errors.Wrap(_optionsErr, "Error serializing 'options' field")
}
// Reserved Field (reserved)
{
- _err := io.WriteUint32("reserved", 32, uint32(0x00000000))
+ _err := writeBuffer.WriteUint32("reserved", 32, uint32(0x00000000))
if _err != nil {
return errors.Wrap(_err, "Error serializing 'reserved' field")
}
@@ -295,218 +288,8 @@ func (m *CIPEncapsulationPacket) SerializeParent(io utils.WriteBuffer, child ICI
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
- if popErr := io.PopContext("CIPEncapsulationPacket"); popErr != nil {
+ if popErr := writeBuffer.PopContext("CIPEncapsulationPacket"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *CIPEncapsulationPacket) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- if start.Attr != nil && len(start.Attr) > 0 {
- switch start.Attr[0].Value {
- // CIPEncapsulationConnectionRequest needs special treatment as it has no fields
- case "org.apache.plc4x.java.ab-eth.readwrite.CIPEncapsulationConnectionRequest":
- if m.Child == nil {
- m.Child = &CIPEncapsulationConnectionRequest{
- Parent: m,
- }
- }
- // CIPEncapsulationConnectionResponse needs special treatment as it has no fields
- case "org.apache.plc4x.java.ab-eth.readwrite.CIPEncapsulationConnectionResponse":
- if m.Child == nil {
- m.Child = &CIPEncapsulationConnectionResponse{
- Parent: m,
- }
- }
- }
- }
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "sessionHandle":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.SessionHandle = data
- case "status":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Status = data
- case "senderContext":
- var data []uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.SenderContext = data
- case "options":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Options = data
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of CIPEncapsulationPacket")
- }
- switch attr[0].Value {
- case "org.apache.plc4x.java.ab-eth.readwrite.CIPEncapsulationConnectionRequest":
- var dt *CIPEncapsulationConnectionRequest
- if m.Child != nil {
- dt = m.Child.(*CIPEncapsulationConnectionRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ab-eth.readwrite.CIPEncapsulationConnectionResponse":
- var dt *CIPEncapsulationConnectionResponse
- if m.Child != nil {
- dt = m.Child.(*CIPEncapsulationConnectionResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ab-eth.readwrite.CIPEncapsulationReadRequest":
- var dt *CIPEncapsulationReadRequest
- if m.Child != nil {
- dt = m.Child.(*CIPEncapsulationReadRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ab-eth.readwrite.CIPEncapsulationReadResponse":
- var dt *CIPEncapsulationReadResponse
- if m.Child != nil {
- dt = m.Child.(*CIPEncapsulationReadResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- }
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *CIPEncapsulationPacket) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.ab-eth.readwrite." + className[strings.LastIndex(className, ".")+1:]
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.SessionHandle, xml.StartElement{Name: xml.Name{Local: "sessionHandle"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Status, xml.StartElement{Name: xml.Name{Local: "status"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.SenderContext, xml.StartElement{Name: xml.Name{Local: "senderContext"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Options, xml.StartElement{Name: xml.Name{Local: "options"}}); err != nil {
- return err
- }
- marshaller, ok := m.Child.(xml.Marshaler)
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m CIPEncapsulationPacket) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *CIPEncapsulationPacket) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *CIPEncapsulationPacket) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox) utils.AsciiBox {
- boxName := "CIPEncapsulationPacket"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Discriminator Field (commandType) (Used as input to a switch field)
- commandType := uint16(m.Child.CommandType())
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("CommandType", commandType, -1))
- // Implicit Field (len)
- len := uint16(uint16(uint16(m.LengthInBytes())) - uint16(uint16(28)))
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Len", len, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("SessionHandle", m.SessionHandle, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Status", m.Status, -1))
- // Array Field (senderContext)
- if m.SenderContext != nil {
- // Simple array base type uint8 will be hex dumped
- boxes = append(boxes, utils.BoxedDumpAnything("SenderContext", m.SenderContext))
- // Simple array base type uint8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.SenderContext {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("SenderContext", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Options", m.Options, -1))
- // Reserved Field (reserved)
- // reserved field can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("reserved", uint32(0x00000000), -1))
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
index 11104a8..e9488ea 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -38,9 +36,7 @@ type CIPEncapsulationReadRequest struct {
type ICIPEncapsulationReadRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -106,25 +102,25 @@ func (m *CIPEncapsulationReadRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func CIPEncapsulationReadRequestParse(io utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
- if pullErr := io.PullContext("CIPEncapsulationReadRequest"); pullErr != nil {
+func CIPEncapsulationReadRequestParse(readBuffer utils.ReadBuffer) (*CIPEncapsulationPacket, error) {
+ if pullErr := readBuffer.PullContext("CIPEncapsulationReadRequest"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("request"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("request"); pullErr != nil {
return nil, pullErr
}
// Simple Field (request)
- request, _requestErr := DF1RequestMessageParse(io)
+ request, _requestErr := DF1RequestMessageParse(readBuffer)
if _requestErr != nil {
return nil, errors.Wrap(_requestErr, "Error parsing 'request' field")
}
- if closeErr := io.CloseContext("request"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("request"); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("CIPEncapsulationReadRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("CIPEncapsulationReadRequest"); closeErr != nil {
return nil, closeErr
}
@@ -137,88 +133,28 @@ func CIPEncapsulationReadRequestParse(io utils.ReadBuffer) (*CIPEncapsulationPac
return _child.Parent, nil
}
-func (m *CIPEncapsulationReadRequest) Serialize(io utils.WriteBuffer) error {
+func (m *CIPEncapsulationReadRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("CIPEncapsulationReadRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("CIPEncapsulationReadRequest"); pushErr != nil {
return pushErr
}
// Simple Field (request)
- if pushErr := io.PushContext("request"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
return pushErr
}
- _requestErr := m.Request.Serialize(io)
- if popErr := io.PopContext("request"); popErr != nil {
+ _requestErr := m.Request.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("request"); popErr != nil {
return popErr
}
if _requestErr != nil {
return errors.Wrap(_requestErr, "Error serializing 'request' field")
}
- if popErr := io.PopContext("CIPEncapsulationReadRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("CIPEncapsulationReadRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *CIPEncapsulationReadRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "request":
- var dt *DF1RequestMessage
- if err := d.DecodeElement(&dt, &tok); err != nil {
- if err == io.EOF {
- continue
- }
- return err
- }
- m.Request = dt
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *CIPEncapsulationReadRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Request, xml.StartElement{Name: xml.Name{Local: "request"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m CIPEncapsulationReadRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m CIPEncapsulationReadRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "CIPEncapsulationReadRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Request.Box("request", width-2))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
index 499d4cd..7bf0946 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -38,9 +36,7 @@ type CIPEncapsulationReadResponse struct {
type ICIPEncapsulationReadResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -106,25 +102,25 @@ func (m *CIPEncapsulationReadResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func CIPEncapsulationReadResponseParse(io utils.ReadBuffer, len uint16) (*CIPEncapsulationPacket, error) {
- if pullErr := io.PullContext("CIPEncapsulationReadResponse"); pullErr != nil {
+func CIPEncapsulationReadResponseParse(readBuffer utils.ReadBuffer, len uint16) (*CIPEncapsulationPacket, error) {
+ if pullErr := readBuffer.PullContext("CIPEncapsulationReadResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("response"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("response"); pullErr != nil {
return nil, pullErr
}
// Simple Field (response)
- response, _responseErr := DF1ResponseMessageParse(io, len)
+ response, _responseErr := DF1ResponseMessageParse(readBuffer, len)
if _responseErr != nil {
return nil, errors.Wrap(_responseErr, "Error parsing 'response' field")
}
- if closeErr := io.CloseContext("response"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("response"); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("CIPEncapsulationReadResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("CIPEncapsulationReadResponse"); closeErr != nil {
return nil, closeErr
}
@@ -137,88 +133,28 @@ func CIPEncapsulationReadResponseParse(io utils.ReadBuffer, len uint16) (*CIPEnc
return _child.Parent, nil
}
-func (m *CIPEncapsulationReadResponse) Serialize(io utils.WriteBuffer) error {
+func (m *CIPEncapsulationReadResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("CIPEncapsulationReadResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("CIPEncapsulationReadResponse"); pushErr != nil {
return pushErr
}
// Simple Field (response)
- if pushErr := io.PushContext("response"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
return pushErr
}
- _responseErr := m.Response.Serialize(io)
- if popErr := io.PopContext("response"); popErr != nil {
+ _responseErr := m.Response.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("response"); popErr != nil {
return popErr
}
if _responseErr != nil {
return errors.Wrap(_responseErr, "Error serializing 'response' field")
}
- if popErr := io.PopContext("CIPEncapsulationReadResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("CIPEncapsulationReadResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *CIPEncapsulationReadResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "response":
- var dt *DF1ResponseMessage
- if err := d.DecodeElement(&dt, &tok); err != nil {
- if err == io.EOF {
- continue
- }
- return err
- }
- m.Response = dt
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *CIPEncapsulationReadResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Response, xml.StartElement{Name: xml.Name{Local: "response"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m CIPEncapsulationReadResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m CIPEncapsulationReadResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "CIPEncapsulationReadResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Response.Box("response", width-2))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
index 1f3ef2d..acb2ecb 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -38,9 +36,7 @@ type DF1CommandRequestMessage struct {
type IDF1CommandRequestMessage interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -106,25 +102,25 @@ func (m *DF1CommandRequestMessage) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func DF1CommandRequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, error) {
- if pullErr := io.PullContext("DF1CommandRequestMessage"); pullErr != nil {
+func DF1CommandRequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, error) {
+ if pullErr := readBuffer.PullContext("DF1CommandRequestMessage"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("command"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("command"); pullErr != nil {
return nil, pullErr
}
// Simple Field (command)
- command, _commandErr := DF1RequestCommandParse(io)
+ command, _commandErr := DF1RequestCommandParse(readBuffer)
if _commandErr != nil {
return nil, errors.Wrap(_commandErr, "Error parsing 'command' field")
}
- if closeErr := io.CloseContext("command"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("command"); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("DF1CommandRequestMessage"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("DF1CommandRequestMessage"); closeErr != nil {
return nil, closeErr
}
@@ -137,88 +133,28 @@ func DF1CommandRequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, err
return _child.Parent, nil
}
-func (m *DF1CommandRequestMessage) Serialize(io utils.WriteBuffer) error {
+func (m *DF1CommandRequestMessage) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("DF1CommandRequestMessage"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("DF1CommandRequestMessage"); pushErr != nil {
return pushErr
}
// Simple Field (command)
- if pushErr := io.PushContext("command"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
return pushErr
}
- _commandErr := m.Command.Serialize(io)
- if popErr := io.PopContext("command"); popErr != nil {
+ _commandErr := m.Command.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("command"); popErr != nil {
return popErr
}
if _commandErr != nil {
return errors.Wrap(_commandErr, "Error serializing 'command' field")
}
- if popErr := io.PopContext("DF1CommandRequestMessage"); popErr != nil {
+ if popErr := writeBuffer.PopContext("DF1CommandRequestMessage"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *DF1CommandRequestMessage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "command":
- var dt *DF1RequestCommand
- if err := d.DecodeElement(&dt, &tok); err != nil {
- if err == io.EOF {
- continue
- }
- return err
- }
- m.Command = dt
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *DF1CommandRequestMessage) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Command, xml.StartElement{Name: xml.Name{Local: "command"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m DF1CommandRequestMessage) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m DF1CommandRequestMessage) Box(name string, width int) utils.AsciiBox {
- boxName := "DF1CommandRequestMessage"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Command.Box("command", width-2))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
index f75cb13..29d106b 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -38,9 +36,7 @@ type DF1CommandResponseMessageProtectedTypedLogicalRead struct {
type IDF1CommandResponseMessageProtectedTypedLogicalRead interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -108,31 +104,31 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) LengthInBytes() uin
return m.LengthInBits() / 8
}
-func DF1CommandResponseMessageProtectedTypedLogicalReadParse(io utils.ReadBuffer, payloadLength uint16, status uint8) (*DF1ResponseMessage, error) {
- if pullErr := io.PullContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); pullErr != nil {
+func DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer, payloadLength uint16, status uint8) (*DF1ResponseMessage, error) {
+ if pullErr := readBuffer.PullContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); pullErr != nil {
return nil, pullErr
}
// Array field (data)
- if pullErr := io.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Length array
data := make([]uint8, 0)
_dataLength := uint16(payloadLength) - uint16(uint16(8))
- _dataEndPos := io.GetPos() + uint16(_dataLength)
- for io.GetPos() < _dataEndPos {
- _item, _err := io.ReadUint8("", 8)
+ _dataEndPos := readBuffer.GetPos() + uint16(_dataLength)
+ for readBuffer.GetPos() < _dataEndPos {
+ _item, _err := readBuffer.ReadUint8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'data' field")
}
data = append(data, _item)
}
- if closeErr := io.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); closeErr != nil {
return nil, closeErr
}
@@ -145,98 +141,32 @@ func DF1CommandResponseMessageProtectedTypedLogicalReadParse(io utils.ReadBuffer
return _child.Parent, nil
}
-func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) Serialize(io utils.WriteBuffer) error {
+func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); pushErr != nil {
return pushErr
}
// Array Field (data)
if m.Data != nil {
- if pushErr := io.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Data {
- _elementErr := io.WriteUint8("", 8, _element)
+ _elementErr := writeBuffer.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'data' field")
}
}
- if popErr := io.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); popErr != nil {
+ if popErr := writeBuffer.PopContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "data":
- var data []uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Data = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Data, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m DF1CommandResponseMessageProtectedTypedLogicalRead) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m DF1CommandResponseMessageProtectedTypedLogicalRead) Box(name string, width int) utils.AsciiBox {
- boxName := "DF1CommandResponseMessageProtectedTypedLogicalRead"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Array Field (data)
- if m.Data != nil {
- // Simple array base type uint8 will be hex dumped
- boxes = append(boxes, utils.BoxedDumpAnything("Data", m.Data))
- // Simple array base type uint8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Data {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Data", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
index e958a53..a56b16f 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "reflect"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,22 +36,19 @@ type IDF1RequestCommand interface {
FunctionCode() uint8
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
type IDF1RequestCommandParent interface {
- SerializeParent(io utils.WriteBuffer, child IDF1RequestCommand, serializeChildFunction func() error) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestCommand, serializeChildFunction func() error) error
GetTypeName() string
}
type IDF1RequestCommandChild interface {
- Serialize(io utils.WriteBuffer) error
+ Serialize(writeBuffer utils.WriteBuffer) error
InitializeParent(parent *DF1RequestCommand)
GetTypeName() string
IDF1RequestCommand
- utils.AsciiBoxer
}
func NewDF1RequestCommand() *DF1RequestCommand {
@@ -99,13 +92,13 @@ func (m *DF1RequestCommand) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func DF1RequestCommandParse(io utils.ReadBuffer) (*DF1RequestCommand, error) {
- if pullErr := io.PullContext("DF1RequestCommand"); pullErr != nil {
+func DF1RequestCommandParse(readBuffer utils.ReadBuffer) (*DF1RequestCommand, error) {
+ if pullErr := readBuffer.PullContext("DF1RequestCommand"); pullErr != nil {
return nil, pullErr
}
// Discriminator Field (functionCode) (Used as input to a switch field)
- functionCode, _functionCodeErr := io.ReadUint8("functionCode", 8)
+ functionCode, _functionCodeErr := readBuffer.ReadUint8("functionCode", 8)
if _functionCodeErr != nil {
return nil, errors.Wrap(_functionCodeErr, "Error parsing 'functionCode' field")
}
@@ -115,7 +108,7 @@ func DF1RequestCommandParse(io utils.ReadBuffer) (*DF1RequestCommand, error) {
var typeSwitchError error
switch {
case functionCode == 0xA2: // DF1RequestProtectedTypedLogicalRead
- _parent, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(io)
+ _parent, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(readBuffer)
default:
// TODO: return actual type
typeSwitchError = errors.New("Unmapped type")
@@ -124,7 +117,7 @@ func DF1RequestCommandParse(io utils.ReadBuffer) (*DF1RequestCommand, error) {
return nil, errors.Wrap(typeSwitchError, "Error parsing sub-type for type-switch.")
}
- if closeErr := io.CloseContext("DF1RequestCommand"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("DF1RequestCommand"); closeErr != nil {
return nil, closeErr
}
@@ -133,18 +126,18 @@ func DF1RequestCommandParse(io utils.ReadBuffer) (*DF1RequestCommand, error) {
return _parent, nil
}
-func (m *DF1RequestCommand) Serialize(io utils.WriteBuffer) error {
- return m.Child.Serialize(io)
+func (m *DF1RequestCommand) Serialize(writeBuffer utils.WriteBuffer) error {
+ return m.Child.Serialize(writeBuffer)
}
-func (m *DF1RequestCommand) SerializeParent(io utils.WriteBuffer, child IDF1RequestCommand, serializeChildFunction func() error) error {
- if pushErr := io.PushContext("DF1RequestCommand"); pushErr != nil {
+func (m *DF1RequestCommand) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestCommand, serializeChildFunction func() error) error {
+ if pushErr := writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
return pushErr
}
// Discriminator Field (functionCode) (Used as input to a switch field)
functionCode := uint8(child.FunctionCode())
- _functionCodeErr := io.WriteUint8("functionCode", 8, (functionCode))
+ _functionCodeErr := writeBuffer.WriteUint8("functionCode", 8, (functionCode))
if _functionCodeErr != nil {
return errors.Wrap(_functionCodeErr, "Error serializing 'functionCode' field")
@@ -156,105 +149,8 @@ func (m *DF1RequestCommand) SerializeParent(io utils.WriteBuffer, child IDF1Requ
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
- if popErr := io.PopContext("DF1RequestCommand"); popErr != nil {
+ if popErr := writeBuffer.PopContext("DF1RequestCommand"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *DF1RequestCommand) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- if start.Attr != nil && len(start.Attr) > 0 {
- switch start.Attr[0].Value {
- }
- }
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of DF1RequestCommand")
- }
- switch attr[0].Value {
- case "org.apache.plc4x.java.ab-eth.readwrite.DF1RequestProtectedTypedLogicalRead":
- var dt *DF1RequestProtectedTypedLogicalRead
- if m.Child != nil {
- dt = m.Child.(*DF1RequestProtectedTypedLogicalRead)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- }
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *DF1RequestCommand) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.ab-eth.readwrite." + className[strings.LastIndex(className, ".")+1:]
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- marshaller, ok := m.Child.(xml.Marshaler)
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m DF1RequestCommand) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *DF1RequestCommand) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *DF1RequestCommand) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox) utils.AsciiBox {
- boxName := "DF1RequestCommand"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Discriminator Field (functionCode) (Used as input to a switch field)
- functionCode := uint8(m.Child.FunctionCode())
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("FunctionCode", functionCode, -1))
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
index 3aa2773..cf98abd 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
@@ -20,13 +20,9 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
- "io"
- "reflect"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -45,22 +41,19 @@ type IDF1RequestMessage interface {
CommandCode() uint8
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
type IDF1RequestMessageParent interface {
- SerializeParent(io utils.WriteBuffer, child IDF1RequestMessage, serializeChildFunction func() error) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestMessage, serializeChildFunction func() error) error
GetTypeName() string
}
type IDF1RequestMessageChild interface {
- Serialize(io utils.WriteBuffer) error
+ Serialize(writeBuffer utils.WriteBuffer) error
InitializeParent(parent *DF1RequestMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16)
GetTypeName() string
IDF1RequestMessage
- utils.AsciiBoxer
}
func NewDF1RequestMessage(destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *DF1RequestMessage {
@@ -119,26 +112,26 @@ func (m *DF1RequestMessage) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func DF1RequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, error) {
- if pullErr := io.PullContext("DF1RequestMessage"); pullErr != nil {
+func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, error) {
+ if pullErr := readBuffer.PullContext("DF1RequestMessage"); pullErr != nil {
return nil, pullErr
}
// Simple Field (destinationAddress)
- destinationAddress, _destinationAddressErr := io.ReadUint8("destinationAddress", 8)
+ destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
if _destinationAddressErr != nil {
return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field")
}
// Simple Field (sourceAddress)
- sourceAddress, _sourceAddressErr := io.ReadUint8("sourceAddress", 8)
+ sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
if _sourceAddressErr != nil {
return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field")
}
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
- reserved, _err := io.ReadUint16("reserved", 16)
+ reserved, _err := readBuffer.ReadUint16("reserved", 16)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'reserved' field")
}
@@ -151,19 +144,19 @@ func DF1RequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, error) {
}
// Discriminator Field (commandCode) (Used as input to a switch field)
- commandCode, _commandCodeErr := io.ReadUint8("commandCode", 8)
+ commandCode, _commandCodeErr := readBuffer.ReadUint8("commandCode", 8)
if _commandCodeErr != nil {
return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
}
// Simple Field (status)
- status, _statusErr := io.ReadUint8("status", 8)
+ status, _statusErr := readBuffer.ReadUint8("status", 8)
if _statusErr != nil {
return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
}
// Simple Field (transactionCounter)
- transactionCounter, _transactionCounterErr := io.ReadUint16("transactionCounter", 16)
+ transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
if _transactionCounterErr != nil {
return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field")
}
@@ -173,7 +166,7 @@ func DF1RequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, error) {
var typeSwitchError error
switch {
case commandCode == 0x0F: // DF1CommandRequestMessage
- _parent, typeSwitchError = DF1CommandRequestMessageParse(io)
+ _parent, typeSwitchError = DF1CommandRequestMessageParse(readBuffer)
default:
// TODO: return actual type
typeSwitchError = errors.New("Unmapped type")
@@ -182,7 +175,7 @@ func DF1RequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, error) {
return nil, errors.Wrap(typeSwitchError, "Error parsing sub-type for type-switch.")
}
- if closeErr := io.CloseContext("DF1RequestMessage"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("DF1RequestMessage"); closeErr != nil {
return nil, closeErr
}
@@ -191,32 +184,32 @@ func DF1RequestMessageParse(io utils.ReadBuffer) (*DF1RequestMessage, error) {
return _parent, nil
}
-func (m *DF1RequestMessage) Serialize(io utils.WriteBuffer) error {
- return m.Child.Serialize(io)
+func (m *DF1RequestMessage) Serialize(writeBuffer utils.WriteBuffer) error {
+ return m.Child.Serialize(writeBuffer)
}
-func (m *DF1RequestMessage) SerializeParent(io utils.WriteBuffer, child IDF1RequestMessage, serializeChildFunction func() error) error {
- if pushErr := io.PushContext("DF1RequestMessage"); pushErr != nil {
+func (m *DF1RequestMessage) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestMessage, serializeChildFunction func() error) error {
+ if pushErr := writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
return pushErr
}
// Simple Field (destinationAddress)
destinationAddress := uint8(m.DestinationAddress)
- _destinationAddressErr := io.WriteUint8("destinationAddress", 8, (destinationAddress))
+ _destinationAddressErr := writeBuffer.WriteUint8("destinationAddress", 8, (destinationAddress))
if _destinationAddressErr != nil {
return errors.Wrap(_destinationAddressErr, "Error serializing 'destinationAddress' field")
}
// Simple Field (sourceAddress)
sourceAddress := uint8(m.SourceAddress)
- _sourceAddressErr := io.WriteUint8("sourceAddress", 8, (sourceAddress))
+ _sourceAddressErr := writeBuffer.WriteUint8("sourceAddress", 8, (sourceAddress))
if _sourceAddressErr != nil {
return errors.Wrap(_sourceAddressErr, "Error serializing 'sourceAddress' field")
}
// Reserved Field (reserved)
{
- _err := io.WriteUint16("reserved", 16, uint16(0x0000))
+ _err := writeBuffer.WriteUint16("reserved", 16, uint16(0x0000))
if _err != nil {
return errors.Wrap(_err, "Error serializing 'reserved' field")
}
@@ -224,7 +217,7 @@ func (m *DF1RequestMessage) SerializeParent(io utils.WriteBuffer, child IDF1Requ
// Discriminator Field (commandCode) (Used as input to a switch field)
commandCode := uint8(child.CommandCode())
- _commandCodeErr := io.WriteUint8("commandCode", 8, (commandCode))
+ _commandCodeErr := writeBuffer.WriteUint8("commandCode", 8, (commandCode))
if _commandCodeErr != nil {
return errors.Wrap(_commandCodeErr, "Error serializing 'commandCode' field")
@@ -232,14 +225,14 @@ func (m *DF1RequestMessage) SerializeParent(io utils.WriteBuffer, child IDF1Requ
// Simple Field (status)
status := uint8(m.Status)
- _statusErr := io.WriteUint8("status", 8, (status))
+ _statusErr := writeBuffer.WriteUint8("status", 8, (status))
if _statusErr != nil {
return errors.Wrap(_statusErr, "Error serializing 'status' field")
}
// Simple Field (transactionCounter)
transactionCounter := uint16(m.TransactionCounter)
- _transactionCounterErr := io.WriteUint16("transactionCounter", 16, (transactionCounter))
+ _transactionCounterErr := writeBuffer.WriteUint16("transactionCounter", 16, (transactionCounter))
if _transactionCounterErr != nil {
return errors.Wrap(_transactionCounterErr, "Error serializing 'transactionCounter' field")
}
@@ -250,156 +243,8 @@ func (m *DF1RequestMessage) SerializeParent(io utils.WriteBuffer, child IDF1Requ
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
- if popErr := io.PopContext("DF1RequestMessage"); popErr != nil {
+ if popErr := writeBuffer.PopContext("DF1RequestMessage"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *DF1RequestMessage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- if start.Attr != nil && len(start.Attr) > 0 {
- switch start.Attr[0].Value {
- }
- }
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "destinationAddress":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.DestinationAddress = data
- case "sourceAddress":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.SourceAddress = data
- case "status":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Status = data
- case "transactionCounter":
- var data uint16
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.TransactionCounter = data
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of DF1RequestMessage")
- }
- switch attr[0].Value {
- case "org.apache.plc4x.java.ab-eth.readwrite.DF1CommandRequestMessage":
- var dt *DF1CommandRequestMessage
- if m.Child != nil {
- dt = m.Child.(*DF1CommandRequestMessage)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- }
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *DF1RequestMessage) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.ab-eth.readwrite." + className[strings.LastIndex(className, ".")+1:]
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.DestinationAddress, xml.StartElement{Name: xml.Name{Local: "destinationAddress"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.SourceAddress, xml.StartElement{Name: xml.Name{Local: "sourceAddress"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Status, xml.StartElement{Name: xml.Name{Local: "status"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.TransactionCounter, xml.StartElement{Name: xml.Name{Local: "transactionCounter"}}); err != nil {
- return err
- }
- marshaller, ok := m.Child.(xml.Marshaler)
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m DF1RequestMessage) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *DF1RequestMessage) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *DF1RequestMessage) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox) utils.AsciiBox {
- boxName := "DF1RequestMessage"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("DestinationAddress", m.DestinationAddress, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("SourceAddress", m.SourceAddress, -1))
- // Reserved Field (reserved)
- // reserved field can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("reserved", uint16(0x0000), -1))
- // Discriminator Field (commandCode) (Used as input to a switch field)
- commandCode := uint8(m.Child.CommandCode())
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("CommandCode", commandCode, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Status", m.Status, -1))
- // Simple field (case simple)
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("TransactionCounter", m.TransactionCounter, -1))
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
index 233ac3a..cccd30d 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -42,9 +40,7 @@ type DF1RequestProtectedTypedLogicalRead struct {
type IDF1RequestProtectedTypedLogicalRead interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -122,42 +118,42 @@ func (m *DF1RequestProtectedTypedLogicalRead) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func DF1RequestProtectedTypedLogicalReadParse(io utils.ReadBuffer) (*DF1RequestCommand, error) {
- if pullErr := io.PullContext("DF1RequestProtectedTypedLogicalRead"); pullErr != nil {
+func DF1RequestProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer) (*DF1RequestCommand, error) {
+ if pullErr := readBuffer.PullContext("DF1RequestProtectedTypedLogicalRead"); pullErr != nil {
return nil, pullErr
}
// Simple Field (byteSize)
- byteSize, _byteSizeErr := io.ReadUint8("byteSize", 8)
+ byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
if _byteSizeErr != nil {
return nil, errors.Wrap(_byteSizeErr, "Error parsing 'byteSize' field")
}
// Simple Field (fileNumber)
- fileNumber, _fileNumberErr := io.ReadUint8("fileNumber", 8)
+ fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
if _fileNumberErr != nil {
return nil, errors.Wrap(_fileNumberErr, "Error parsing 'fileNumber' field")
}
// Simple Field (fileType)
- fileType, _fileTypeErr := io.ReadUint8("fileType", 8)
+ fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
if _fileTypeErr != nil {
return nil, errors.Wrap(_fileTypeErr, "Error parsing 'fileType' field")
}
// Simple Field (elementNumber)
- elementNumber, _elementNumberErr := io.ReadUint8("elementNumber", 8)
+ elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
if _elementNumberErr != nil {
return nil, errors.Wrap(_elementNumberErr, "Error parsing 'elementNumber' field")
}
// Simple Field (subElementNumber)
- subElementNumber, _subElementNumberErr := io.ReadUint8("subElementNumber", 8)
+ subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
if _subElementNumberErr != nil {
return nil, errors.Wrap(_subElementNumberErr, "Error parsing 'subElementNumber' field")
}
- if closeErr := io.CloseContext("DF1RequestProtectedTypedLogicalRead"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("DF1RequestProtectedTypedLogicalRead"); closeErr != nil {
return nil, closeErr
}
@@ -174,157 +170,51 @@ func DF1RequestProtectedTypedLogicalReadParse(io utils.ReadBuffer) (*DF1RequestC
return _child.Parent, nil
}
-func (m *DF1RequestProtectedTypedLogicalRead) Serialize(io utils.WriteBuffer) error {
+func (m *DF1RequestProtectedTypedLogicalRead) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("DF1RequestProtectedTypedLogicalRead"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("DF1RequestProtectedTypedLogicalRead"); pushErr != nil {
return pushErr
}
// Simple Field (byteSize)
byteSize := uint8(m.ByteSize)
- _byteSizeErr := io.WriteUint8("byteSize", 8, (byteSize))
+ _byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
if _byteSizeErr != nil {
return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
}
// Simple Field (fileNumber)
fileNumber := uint8(m.FileNumber)
- _fileNumberErr := io.WriteUint8("fileNumber", 8, (fileNumber))
+ _fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
if _fileNumberErr != nil {
return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
}
// Simple Field (fileType)
fileType := uint8(m.FileType)
- _fileTypeErr := io.WriteUint8("fileType", 8, (fileType))
+ _fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
if _fileTypeErr != nil {
return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
}
// Simple Field (elementNumber)
elementNumber := uint8(m.ElementNumber)
- _elementNumberErr := io.WriteUint8("elementNumber", 8, (elementNumber))
+ _elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
if _elementNumberErr != nil {
return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
}
// Simple Field (subElementNumber)
subElementNumber := uint8(m.SubElementNumber)
- _subElementNumberErr := io.WriteUint8("subElementNumber", 8, (subElementNumber))
+ _subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
if _subElementNumberErr != nil {
return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
}
- if popErr := io.PopContext("DF1RequestProtectedTypedLogicalRead"); popErr != nil {
+ if popErr := writeBuffer.PopContext("DF1RequestProtectedTypedLogicalRead"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *DF1RequestProtectedTypedLogicalRead) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "byteSize":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ByteSize = data
- case "fileNumber":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.FileNumber = data
- case "fileType":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.FileType = data
- case "elementNumber":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ElementNumber = data
- case "subElementNumber":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.SubElementNumber = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *DF1RequestProtectedTypedLogicalRead) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.ByteSize, xml.StartElement{Name: xml.Name{Local: "byteSize"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.FileNumber, xml.StartElement{Name: xml.Name{Local: "fileNumber"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.FileType, xml.StartElement{Name: xml.Name{Local: "fileType"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ElementNumber, xml.StartElement{Name: xml.Name{Local: "elementNumber"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.SubElementNumber, xml.StartElement{Name: xml.Name{Local: "subElementNumber"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m DF1RequestProtectedTypedLogicalRead) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m DF1RequestProtectedTypedLogicalRead) Box(name string, width int) utils.AsciiBox {
- boxName := "DF1RequestProtectedTypedLogicalRead"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ByteSize", m.ByteSize, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("FileNumber", m.FileNumber, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("FileType", m.FileType, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ElementNumber", m.ElementNumber, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("SubElementNumber", m.SubElementNumber, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
index b0a52ea..bb1eefa 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
@@ -20,13 +20,9 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
- "io"
- "reflect"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -45,22 +41,19 @@ type IDF1ResponseMessage interface {
CommandCode() uint8
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
type IDF1ResponseMessageParent interface {
- SerializeParent(io utils.WriteBuffer, child IDF1ResponseMessage, serializeChildFunction func() error) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child IDF1ResponseMessage, serializeChildFunction func() error) error
GetTypeName() string
}
type IDF1ResponseMessageChild interface {
- Serialize(io utils.WriteBuffer) error
+ Serialize(writeBuffer utils.WriteBuffer) error
InitializeParent(parent *DF1ResponseMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16)
GetTypeName() string
IDF1ResponseMessage
- utils.AsciiBoxer
}
func NewDF1ResponseMessage(destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *DF1ResponseMessage {
@@ -122,14 +115,14 @@ func (m *DF1ResponseMessage) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func DF1ResponseMessageParse(io utils.ReadBuffer, payloadLength uint16) (*DF1ResponseMessage, error) {
- if pullErr := io.PullContext("DF1ResponseMessage"); pullErr != nil {
+func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16) (*DF1ResponseMessage, error) {
+ if pullErr := readBuffer.PullContext("DF1ResponseMessage"); pullErr != nil {
return nil, pullErr
}
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
- reserved, _err := io.ReadUint8("reserved", 8)
+ reserved, _err := readBuffer.ReadUint8("reserved", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'reserved' field")
}
@@ -142,20 +135,20 @@ func DF1ResponseMessageParse(io utils.ReadBuffer, payloadLength uint16) (*DF1Res
}
// Simple Field (destinationAddress)
- destinationAddress, _destinationAddressErr := io.ReadUint8("destinationAddress", 8)
+ destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
if _destinationAddressErr != nil {
return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field")
}
// Simple Field (sourceAddress)
- sourceAddress, _sourceAddressErr := io.ReadUint8("sourceAddress", 8)
+ sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
if _sourceAddressErr != nil {
return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field")
}
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
- reserved, _err := io.ReadUint8("reserved", 8)
+ reserved, _err := readBuffer.ReadUint8("reserved", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'reserved' field")
}
@@ -168,19 +161,19 @@ func DF1ResponseMessageParse(io utils.ReadBuffer, payloadLength uint16) (*DF1Res
}
// Discriminator Field (commandCode) (Used as input to a switch field)
- commandCode, _commandCodeErr := io.ReadUint8("commandCode", 8)
+ commandCode, _commandCodeErr := readBuffer.ReadUint8("commandCode", 8)
if _commandCodeErr != nil {
return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
}
// Simple Field (status)
- status, _statusErr := io.ReadUint8("status", 8)
+ status, _statusErr := readBuffer.ReadUint8("status", 8)
if _statusErr != nil {
return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
}
// Simple Field (transactionCounter)
- transactionCounter, _transactionCounterErr := io.ReadUint16("transactionCounter", 16)
+ transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
if _transactionCounterErr != nil {
return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field")
}
@@ -190,7 +183,7 @@ func DF1ResponseMessageParse(io utils.ReadBuffer, payloadLength uint16) (*DF1Res
var typeSwitchError error
switch {
case commandCode == 0x4F: // DF1CommandResponseMessageProtectedTypedLogicalRead
- _parent, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParse(io, payloadLength, status)
+ _parent, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer, payloadLength, status)
default:
// TODO: return actual type
typeSwitchError = errors.New("Unmapped type")
@@ -199,7 +192,7 @@ func DF1ResponseMessageParse(io utils.ReadBuffer, payloadLength uint16) (*DF1Res
return nil, errors.Wrap(typeSwitchError, "Error parsing sub-type for type-switch.")
}
- if closeErr := io.CloseContext("DF1ResponseMessage"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("DF1ResponseMessage"); closeErr != nil {
return nil, closeErr
}
@@ -208,18 +201,18 @@ func DF1ResponseMessageParse(io utils.ReadBuffer, payloadLength uint16) (*DF1Res
return _parent, nil
}
-func (m *DF1ResponseMessage) Serialize(io utils.WriteBuffer) error {
- return m.Child.Serialize(io)
+func (m *DF1ResponseMessage) Serialize(writeBuffer utils.WriteBuffer) error {
+ return m.Child.Serialize(writeBuffer)
}
-func (m *DF1ResponseMessage) SerializeParent(io utils.WriteBuffer, child IDF1ResponseMessage, serializeChildFunction func() error) error {
- if pushErr := io.PushContext("DF1ResponseMessage"); pushErr != nil {
+func (m *DF1ResponseMessage) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1ResponseMessage, serializeChildFunction func() error) error {
+ if pushErr := writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
return pushErr
}
// Reserved Field (reserved)
{
- _err := io.WriteUint8("reserved", 8, uint8(0x00))
+ _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00))
if _err != nil {
return errors.Wrap(_err, "Error serializing 'reserved' field")
}
@@ -227,21 +220,21 @@ func (m *DF1ResponseMessage) SerializeParent(io utils.WriteBuffer, child IDF1Res
// Simple Field (destinationAddress)
destinationAddress := uint8(m.DestinationAddress)
- _destinationAddressErr := io.WriteUint8("destinationAddress", 8, (destinationAddress))
+ _destinationAddressErr := writeBuffer.WriteUint8("destinationAddress", 8, (destinationAddress))
if _destinationAddressErr != nil {
return errors.Wrap(_destinationAddressErr, "Error serializing 'destinationAddress' field")
}
// Simple Field (sourceAddress)
sourceAddress := uint8(m.SourceAddress)
- _sourceAddressErr := io.WriteUint8("sourceAddress", 8, (sourceAddress))
+ _sourceAddressErr := writeBuffer.WriteUint8("sourceAddress", 8, (sourceAddress))
if _sourceAddressErr != nil {
return errors.Wrap(_sourceAddressErr, "Error serializing 'sourceAddress' field")
}
// Reserved Field (reserved)
{
- _err := io.WriteUint8("reserved", 8, uint8(0x00))
+ _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00))
if _err != nil {
return errors.Wrap(_err, "Error serializing 'reserved' field")
}
@@ -249,7 +242,7 @@ func (m *DF1ResponseMessage) SerializeParent(io utils.WriteBuffer, child IDF1Res
// Discriminator Field (commandCode) (Used as input to a switch field)
commandCode := uint8(child.CommandCode())
- _commandCodeErr := io.WriteUint8("commandCode", 8, (commandCode))
+ _commandCodeErr := writeBuffer.WriteUint8("commandCode", 8, (commandCode))
if _commandCodeErr != nil {
return errors.Wrap(_commandCodeErr, "Error serializing 'commandCode' field")
@@ -257,14 +250,14 @@ func (m *DF1ResponseMessage) SerializeParent(io utils.WriteBuffer, child IDF1Res
// Simple Field (status)
status := uint8(m.Status)
- _statusErr := io.WriteUint8("status", 8, (status))
+ _statusErr := writeBuffer.WriteUint8("status", 8, (status))
if _statusErr != nil {
return errors.Wrap(_statusErr, "Error serializing 'status' field")
}
// Simple Field (transactionCounter)
transactionCounter := uint16(m.TransactionCounter)
- _transactionCounterErr := io.WriteUint16("transactionCounter", 16, (transactionCounter))
+ _transactionCounterErr := writeBuffer.WriteUint16("transactionCounter", 16, (transactionCounter))
if _transactionCounterErr != nil {
return errors.Wrap(_transactionCounterErr, "Error serializing 'transactionCounter' field")
}
@@ -275,159 +268,8 @@ func (m *DF1ResponseMessage) SerializeParent(io utils.WriteBuffer, child IDF1Res
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
- if popErr := io.PopContext("DF1ResponseMessage"); popErr != nil {
+ if popErr := writeBuffer.PopContext("DF1ResponseMessage"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *DF1ResponseMessage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- if start.Attr != nil && len(start.Attr) > 0 {
- switch start.Attr[0].Value {
- }
- }
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "destinationAddress":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.DestinationAddress = data
- case "sourceAddress":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.SourceAddress = data
- case "status":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Status = data
- case "transactionCounter":
- var data uint16
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.TransactionCounter = data
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of DF1ResponseMessage")
- }
- switch attr[0].Value {
- case "org.apache.plc4x.java.ab-eth.readwrite.DF1CommandResponseMessageProtectedTypedLogicalRead":
- var dt *DF1CommandResponseMessageProtectedTypedLogicalRead
- if m.Child != nil {
- dt = m.Child.(*DF1CommandResponseMessageProtectedTypedLogicalRead)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- }
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *DF1ResponseMessage) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.ab-eth.readwrite." + className[strings.LastIndex(className, ".")+1:]
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.DestinationAddress, xml.StartElement{Name: xml.Name{Local: "destinationAddress"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.SourceAddress, xml.StartElement{Name: xml.Name{Local: "sourceAddress"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Status, xml.StartElement{Name: xml.Name{Local: "status"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.TransactionCounter, xml.StartElement{Name: xml.Name{Local: "transactionCounter"}}); err != nil {
- return err
- }
- marshaller, ok := m.Child.(xml.Marshaler)
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m DF1ResponseMessage) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *DF1ResponseMessage) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *DF1ResponseMessage) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox) utils.AsciiBox {
- boxName := "DF1ResponseMessage"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Reserved Field (reserved)
- // reserved field can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("reserved", uint8(0x00), -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("DestinationAddress", m.DestinationAddress, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("SourceAddress", m.SourceAddress, -1))
- // Reserved Field (reserved)
- // reserved field can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("reserved", uint8(0x00), -1))
- // Discriminator Field (commandCode) (Used as input to a switch field)
- commandCode := uint8(m.Child.CommandCode())
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("CommandCode", commandCode, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Status", m.Status, -1))
- // Simple field (case simple)
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("TransactionCounter", m.TransactionCounter, -1))
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
index 554ada5..941d93f 100644
--- a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
@@ -20,7 +20,6 @@
package readwrite
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
@@ -38,12 +37,13 @@ func init() {
_ = strconv.Atoi
_ = strings.Join
_ = utils.Dump
- _ = xml.NewDecoder
}
func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
switch typeName {
case "AdsMultiRequestItem":
+ // TODO: implement class org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultComplexTypeDefinition
+ _ = model.NewAdsMultiRequestItem
return nil, errors.New("AdsMultiRequestItem unmappable")
case "AmsTCPPacket":
return model.AmsTCPPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
@@ -56,6 +56,8 @@ func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArgum
case "AmsSerialAcknowledgeFrame":
return model.AmsSerialAcknowledgeFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
case "AdsData":
+ // TODO: implement class org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultComplexTypeDefinition
+ _ = model.NewAdsData
return nil, errors.New("AdsData unmappable")
case "AmsNetId":
return model.AmsNetIdParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
@@ -68,87 +70,3 @@ func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArgum
}
return nil, errors.Errorf("Unsupported type %s", typeName)
}
-
-// Deprecated: will be removed in favor of Parse soon
-func (m AdsXmlParserHelper) ParseOld(typeName string, xmlString string) (interface{}, error) {
- switch typeName {
- case "AdsMultiRequestItem":
- var obj *model.AdsMultiRequestItem
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AmsTCPPacket":
- var obj *model.AmsTCPPacket
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "State":
- var obj *model.State
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AmsPacket":
- var obj *model.AmsPacket
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AmsSerialFrame":
- var obj *model.AmsSerialFrame
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AmsSerialAcknowledgeFrame":
- var obj *model.AmsSerialAcknowledgeFrame
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AdsData":
- var obj *model.AdsData
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AmsNetId":
- var obj *model.AmsNetId
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AdsStampHeader":
- var obj *model.AdsStampHeader
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AmsSerialResetFrame":
- var obj *model.AmsSerialResetFrame
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- case "AdsNotificationSample":
- var obj *model.AdsNotificationSample
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.Wrap(err, "error unmarshalling xml")
- }
- return obj, nil
- }
- return nil, errors.Errorf("Unsupported type %s", typeName)
-}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index fe287da..c9ce76f 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -20,11 +20,9 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
- "io"
"math/big"
)
@@ -45,9 +43,7 @@ type AdsAddDeviceNotificationRequest struct {
type IAdsAddDeviceNotificationRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -136,50 +132,50 @@ func (m *AdsAddDeviceNotificationRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsAddDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsAddDeviceNotificationRequest"); pullErr != nil {
+func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationRequest"); pullErr != nil {
return nil, pullErr
}
// Simple Field (indexGroup)
- indexGroup, _indexGroupErr := io.ReadUint32("indexGroup", 32)
+ indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
if _indexGroupErr != nil {
return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
}
// Simple Field (indexOffset)
- indexOffset, _indexOffsetErr := io.ReadUint32("indexOffset", 32)
+ indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
if _indexOffsetErr != nil {
return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
}
// Simple Field (length)
- length, _lengthErr := io.ReadUint32("length", 32)
+ length, _lengthErr := readBuffer.ReadUint32("length", 32)
if _lengthErr != nil {
return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
}
// Simple Field (transmissionMode)
- transmissionMode, _transmissionModeErr := io.ReadUint32("transmissionMode", 32)
+ transmissionMode, _transmissionModeErr := readBuffer.ReadUint32("transmissionMode", 32)
if _transmissionModeErr != nil {
return nil, errors.Wrap(_transmissionModeErr, "Error parsing 'transmissionMode' field")
}
// Simple Field (maxDelay)
- maxDelay, _maxDelayErr := io.ReadUint32("maxDelay", 32)
+ maxDelay, _maxDelayErr := readBuffer.ReadUint32("maxDelay", 32)
if _maxDelayErr != nil {
return nil, errors.Wrap(_maxDelayErr, "Error parsing 'maxDelay' field")
}
// Simple Field (cycleTime)
- cycleTime, _cycleTimeErr := io.ReadUint32("cycleTime", 32)
+ cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
if _cycleTimeErr != nil {
return nil, errors.Wrap(_cycleTimeErr, "Error parsing 'cycleTime' field")
}
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
- reserved, _err := io.ReadBigInt("reserved", 128)
+ reserved, _err := readBuffer.ReadBigInt("reserved", 128)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'reserved' field")
}
@@ -191,7 +187,7 @@ func AdsAddDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error)
}
}
- if closeErr := io.CloseContext("AdsAddDeviceNotificationRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsAddDeviceNotificationRequest"); closeErr != nil {
return nil, closeErr
}
@@ -209,187 +205,66 @@ func AdsAddDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error)
return _child.Parent, nil
}
-func (m *AdsAddDeviceNotificationRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsAddDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsAddDeviceNotificationRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsAddDeviceNotificationRequest"); pushErr != nil {
return pushErr
}
// Simple Field (indexGroup)
indexGroup := uint32(m.IndexGroup)
- _indexGroupErr := io.WriteUint32("indexGroup", 32, (indexGroup))
+ _indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
if _indexGroupErr != nil {
return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
}
// Simple Field (indexOffset)
indexOffset := uint32(m.IndexOffset)
- _indexOffsetErr := io.WriteUint32("indexOffset", 32, (indexOffset))
+ _indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
if _indexOffsetErr != nil {
return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
}
// Simple Field (length)
length := uint32(m.Length)
- _lengthErr := io.WriteUint32("length", 32, (length))
+ _lengthErr := writeBuffer.WriteUint32("length", 32, (length))
if _lengthErr != nil {
return errors.Wrap(_lengthErr, "Error serializing 'length' field")
}
// Simple Field (transmissionMode)
transmissionMode := uint32(m.TransmissionMode)
- _transmissionModeErr := io.WriteUint32("transmissionMode", 32, (transmissionMode))
+ _transmissionModeErr := writeBuffer.WriteUint32("transmissionMode", 32, (transmissionMode))
if _transmissionModeErr != nil {
return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
}
// Simple Field (maxDelay)
maxDelay := uint32(m.MaxDelay)
- _maxDelayErr := io.WriteUint32("maxDelay", 32, (maxDelay))
+ _maxDelayErr := writeBuffer.WriteUint32("maxDelay", 32, (maxDelay))
if _maxDelayErr != nil {
return errors.Wrap(_maxDelayErr, "Error serializing 'maxDelay' field")
}
// Simple Field (cycleTime)
cycleTime := uint32(m.CycleTime)
- _cycleTimeErr := io.WriteUint32("cycleTime", 32, (cycleTime))
+ _cycleTimeErr := writeBuffer.WriteUint32("cycleTime", 32, (cycleTime))
if _cycleTimeErr != nil {
return errors.Wrap(_cycleTimeErr, "Error serializing 'cycleTime' field")
}
// Reserved Field (reserved)
{
- _err := io.WriteBigInt("reserved", 128, big.NewInt(0x0000))
+ _err := writeBuffer.WriteBigInt("reserved", 128, big.NewInt(0x0000))
if _err != nil {
return errors.Wrap(_err, "Error serializing 'reserved' field")
}
}
- if popErr := io.PopContext("AdsAddDeviceNotificationRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsAddDeviceNotificationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "indexGroup":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.IndexGroup = data
- case "indexOffset":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.IndexOffset = data
- case "length":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Length = data
- case "transmissionMode":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.TransmissionMode = data
- case "maxDelay":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.MaxDelay = data
- case "cycleTime":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.CycleTime = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsAddDeviceNotificationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.TransmissionMode, xml.StartElement{Name: xml.Name{Local: "transmissionMode"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.MaxDelay, xml.StartElement{Name: xml.Name{Local: "maxDelay"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.CycleTime, xml.StartElement{Name: xml.Name{Local: "cycleTime"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsAddDeviceNotificationRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsAddDeviceNotificationRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsAddDeviceNotificationRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("IndexGroup", m.IndexGroup, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("IndexOffset", m.IndexOffset, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Length", m.Length, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("TransmissionMode", m.TransmissionMode, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("MaxDelay", m.MaxDelay, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("CycleTime", m.CycleTime, -1))
- // Reserved Field (reserved)
- // reserved field can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("reserved", big.NewInt(0x0000), -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index 55ffc88..34120a0 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -39,9 +37,7 @@ type AdsAddDeviceNotificationResponse struct {
type IAdsAddDeviceNotificationResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -111,31 +107,31 @@ func (m *AdsAddDeviceNotificationResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsAddDeviceNotificationResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsAddDeviceNotificationResponse"); pullErr != nil {
+func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("result"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("result"); pullErr != nil {
return nil, pullErr
}
// Simple Field (result)
- result, _resultErr := ReturnCodeParse(io)
+ result, _resultErr := ReturnCodeParse(readBuffer)
if _resultErr != nil {
return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
}
- if closeErr := io.CloseContext("result"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("result"); closeErr != nil {
return nil, closeErr
}
// Simple Field (notificationHandle)
- notificationHandle, _notificationHandleErr := io.ReadUint32("notificationHandle", 32)
+ notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
if _notificationHandleErr != nil {
return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
}
- if closeErr := io.CloseContext("AdsAddDeviceNotificationResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsAddDeviceNotificationResponse"); closeErr != nil {
return nil, closeErr
}
@@ -149,18 +145,18 @@ func AdsAddDeviceNotificationResponseParse(io utils.ReadBuffer) (*AdsData, error
return _child.Parent, nil
}
-func (m *AdsAddDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsAddDeviceNotificationResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsAddDeviceNotificationResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsAddDeviceNotificationResponse"); pushErr != nil {
return pushErr
}
// Simple Field (result)
- if pushErr := io.PushContext("result"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
return pushErr
}
- _resultErr := m.Result.Serialize(io)
- if popErr := io.PopContext("result"); popErr != nil {
+ _resultErr := m.Result.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("result"); popErr != nil {
return popErr
}
if _resultErr != nil {
@@ -169,84 +165,15 @@ func (m *AdsAddDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error
// Simple Field (notificationHandle)
notificationHandle := uint32(m.NotificationHandle)
- _notificationHandleErr := io.WriteUint32("notificationHandle", 32, (notificationHandle))
+ _notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
if _notificationHandleErr != nil {
return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
}
- if popErr := io.PopContext("AdsAddDeviceNotificationResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsAddDeviceNotificationResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "result":
- var data ReturnCode
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Result = data
- case "notificationHandle":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.NotificationHandle = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsAddDeviceNotificationResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsAddDeviceNotificationResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsAddDeviceNotificationResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsAddDeviceNotificationResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Result.Box("result", width-2))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("NotificationHandle", m.NotificationHandle, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
index 8f67e67..184ec49 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "reflect"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -41,22 +37,19 @@ type IAdsData interface {
Response() bool
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
type IAdsDataParent interface {
- SerializeParent(io utils.WriteBuffer, child IAdsData, serializeChildFunction func() error) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child IAdsData, serializeChildFunction func() error) error
GetTypeName() string
}
type IAdsDataChild interface {
- Serialize(io utils.WriteBuffer) error
+ Serialize(writeBuffer utils.WriteBuffer) error
InitializeParent(parent *AdsData)
GetTypeName() string
IAdsData
- utils.AsciiBoxer
}
func NewAdsData() *AdsData {
@@ -98,8 +91,8 @@ func (m *AdsData) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsDataParse(io utils.ReadBuffer, commandId *CommandId, response bool) (*AdsData, error) {
- if pullErr := io.PullContext("AdsData"); pullErr != nil {
+func AdsDataParse(readBuffer utils.ReadBuffer, commandId *CommandId, response bool) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsData"); pullErr != nil {
return nil, pullErr
}
@@ -108,45 +101,45 @@ func AdsDataParse(io utils.ReadBuffer, commandId *CommandId, response bool) (*Ad
var typeSwitchError error
switch {
case *commandId == CommandId_INVALID && response == false: // AdsInvalidRequest
- _parent, typeSwitchError = AdsInvalidRequestParse(io)
+ _parent, typeSwitchError = AdsInvalidRequestParse(readBuffer)
case *commandId == CommandId_INVALID && response == true: // AdsInvalidResponse
- _parent, typeSwitchError = AdsInvalidResponseParse(io)
+ _parent, typeSwitchError = AdsInvalidResponseParse(readBuffer)
case *commandId == CommandId_ADS_READ_DEVICE_INFO && response == false: // AdsReadDeviceInfoRequest
- _parent, typeSwitchError = AdsReadDeviceInfoRequestParse(io)
+ _parent, typeSwitchError = AdsReadDeviceInfoRequestParse(readBuffer)
case *commandId == CommandId_ADS_READ_DEVICE_INFO && response == true: // AdsReadDeviceInfoResponse
- _parent, typeSwitchError = AdsReadDeviceInfoResponseParse(io)
+ _parent, typeSwitchError = AdsReadDeviceInfoResponseParse(readBuffer)
case *commandId == CommandId_ADS_READ && response == false: // AdsReadRequest
- _parent, typeSwitchError = AdsReadRequestParse(io)
+ _parent, typeSwitchError = AdsReadRequestParse(readBuffer)
case *commandId == CommandId_ADS_READ && response == true: // AdsReadResponse
- _parent, typeSwitchError = AdsReadResponseParse(io)
+ _parent, typeSwitchError = AdsReadResponseParse(readBuffer)
case *commandId == CommandId_ADS_WRITE && response == false: // AdsWriteRequest
- _parent, typeSwitchError = AdsWriteRequestParse(io)
+ _parent, typeSwitchError = AdsWriteRequestParse(readBuffer)
case *commandId == CommandId_ADS_WRITE && response == true: // AdsWriteResponse
- _parent, typeSwitchError = AdsWriteResponseParse(io)
+ _parent, typeSwitchError = AdsWriteResponseParse(readBuffer)
case *commandId == CommandId_ADS_READ_STATE && response == false: // AdsReadStateRequest
- _parent, typeSwitchError = AdsReadStateRequestParse(io)
+ _parent, typeSwitchError = AdsReadStateRequestParse(readBuffer)
case *commandId == CommandId_ADS_READ_STATE && response == true: // AdsReadStateResponse
- _parent, typeSwitchError = AdsReadStateResponseParse(io)
+ _parent, typeSwitchError = AdsReadStateResponseParse(readBuffer)
case *commandId == CommandId_ADS_WRITE_CONTROL && response == false: // AdsWriteControlRequest
- _parent, typeSwitchError = AdsWriteControlRequestParse(io)
+ _parent, typeSwitchError = AdsWriteControlRequestParse(readBuffer)
case *commandId == CommandId_ADS_WRITE_CONTROL && response == true: // AdsWriteControlResponse
- _parent, typeSwitchError = AdsWriteControlResponseParse(io)
+ _parent, typeSwitchError = AdsWriteControlResponseParse(readBuffer)
case *commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == false: // AdsAddDeviceNotificationRequest
- _parent, typeSwitchError = AdsAddDeviceNotificationRequestParse(io)
+ _parent, typeSwitchError = AdsAddDeviceNotificationRequestParse(readBuffer)
case *commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == true: // AdsAddDeviceNotificationResponse
- _parent, typeSwitchError = AdsAddDeviceNotificationResponseParse(io)
+ _parent, typeSwitchError = AdsAddDeviceNotificationResponseParse(readBuffer)
case *commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == false: // AdsDeleteDeviceNotificationRequest
- _parent, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(io)
+ _parent, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(readBuffer)
case *commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == true: // AdsDeleteDeviceNotificationResponse
- _parent, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(io)
+ _parent, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(readBuffer)
case *commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == false: // AdsDeviceNotificationRequest
- _parent, typeSwitchError = AdsDeviceNotificationRequestParse(io)
+ _parent, typeSwitchError = AdsDeviceNotificationRequestParse(readBuffer)
case *commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == true: // AdsDeviceNotificationResponse
- _parent, typeSwitchError = AdsDeviceNotificationResponseParse(io)
+ _parent, typeSwitchError = AdsDeviceNotificationResponseParse(readBuffer)
case *commandId == CommandId_ADS_READ_WRITE && response == false: // AdsReadWriteRequest
- _parent, typeSwitchError = AdsReadWriteRequestParse(io)
+ _parent, typeSwitchError = AdsReadWriteRequestParse(readBuffer)
case *commandId == CommandId_ADS_READ_WRITE && response == true: // AdsReadWriteResponse
- _parent, typeSwitchError = AdsReadWriteResponseParse(io)
+ _parent, typeSwitchError = AdsReadWriteResponseParse(readBuffer)
default:
// TODO: return actual type
typeSwitchError = errors.New("Unmapped type")
@@ -155,7 +148,7 @@ func AdsDataParse(io utils.ReadBuffer, commandId *CommandId, response bool) (*Ad
return nil, errors.Wrap(typeSwitchError, "Error parsing sub-type for type-switch.")
}
- if closeErr := io.CloseContext("AdsData"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsData"); closeErr != nil {
return nil, closeErr
}
@@ -164,12 +157,12 @@ func AdsDataParse(io utils.ReadBuffer, commandId *CommandId, response bool) (*Ad
return _parent, nil
}
-func (m *AdsData) Serialize(io utils.WriteBuffer) error {
- return m.Child.Serialize(io)
+func (m *AdsData) Serialize(writeBuffer utils.WriteBuffer) error {
+ return m.Child.Serialize(writeBuffer)
}
-func (m *AdsData) SerializeParent(io utils.WriteBuffer, child IAdsData, serializeChildFunction func() error) error {
- if pushErr := io.PushContext("AdsData"); pushErr != nil {
+func (m *AdsData) SerializeParent(writeBuffer utils.WriteBuffer, child IAdsData, serializeChildFunction func() error) error {
+ if pushErr := writeBuffer.PushContext("AdsData"); pushErr != nil {
return pushErr
}
@@ -179,364 +172,8 @@ func (m *AdsData) SerializeParent(io utils.WriteBuffer, child IAdsData, serializ
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
- if popErr := io.PopContext("AdsData"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsData"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsData) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- if start.Attr != nil && len(start.Attr) > 0 {
- switch start.Attr[0].Value {
- // AdsInvalidRequest needs special treatment as it has no fields
- case "org.apache.plc4x.java.ads.readwrite.AdsInvalidRequest":
- if m.Child == nil {
- m.Child = &AdsInvalidRequest{
- Parent: m,
- }
- }
- // AdsInvalidResponse needs special treatment as it has no fields
- case "org.apache.plc4x.java.ads.readwrite.AdsInvalidResponse":
- if m.Child == nil {
- m.Child = &AdsInvalidResponse{
- Parent: m,
- }
- }
- // AdsReadDeviceInfoRequest needs special treatment as it has no fields
- case "org.apache.plc4x.java.ads.readwrite.AdsReadDeviceInfoRequest":
- if m.Child == nil {
- m.Child = &AdsReadDeviceInfoRequest{
- Parent: m,
- }
- }
- // AdsReadStateRequest needs special treatment as it has no fields
- case "org.apache.plc4x.java.ads.readwrite.AdsReadStateRequest":
- if m.Child == nil {
- m.Child = &AdsReadStateRequest{
- Parent: m,
- }
- }
- // AdsDeviceNotificationResponse needs special treatment as it has no fields
- case "org.apache.plc4x.java.ads.readwrite.AdsDeviceNotificationResponse":
- if m.Child == nil {
- m.Child = &AdsDeviceNotificationResponse{
- Parent: m,
- }
- }
- }
- }
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of AdsData")
- }
- switch attr[0].Value {
- case "org.apache.plc4x.java.ads.readwrite.AdsInvalidRequest":
- var dt *AdsInvalidRequest
- if m.Child != nil {
- dt = m.Child.(*AdsInvalidRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsInvalidResponse":
- var dt *AdsInvalidResponse
- if m.Child != nil {
- dt = m.Child.(*AdsInvalidResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadDeviceInfoRequest":
- var dt *AdsReadDeviceInfoRequest
- if m.Child != nil {
- dt = m.Child.(*AdsReadDeviceInfoRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadDeviceInfoResponse":
- var dt *AdsReadDeviceInfoResponse
- if m.Child != nil {
- dt = m.Child.(*AdsReadDeviceInfoResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadRequest":
- var dt *AdsReadRequest
- if m.Child != nil {
- dt = m.Child.(*AdsReadRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadResponse":
- var dt *AdsReadResponse
- if m.Child != nil {
- dt = m.Child.(*AdsReadResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsWriteRequest":
- var dt *AdsWriteRequest
- if m.Child != nil {
- dt = m.Child.(*AdsWriteRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsWriteResponse":
- var dt *AdsWriteResponse
- if m.Child != nil {
- dt = m.Child.(*AdsWriteResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadStateRequest":
- var dt *AdsReadStateRequest
- if m.Child != nil {
- dt = m.Child.(*AdsReadStateRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadStateResponse":
- var dt *AdsReadStateResponse
- if m.Child != nil {
- dt = m.Child.(*AdsReadStateResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsWriteControlRequest":
- var dt *AdsWriteControlRequest
- if m.Child != nil {
- dt = m.Child.(*AdsWriteControlRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsWriteControlResponse":
- var dt *AdsWriteControlResponse
- if m.Child != nil {
- dt = m.Child.(*AdsWriteControlResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsAddDeviceNotificationRequest":
- var dt *AdsAddDeviceNotificationRequest
- if m.Child != nil {
- dt = m.Child.(*AdsAddDeviceNotificationRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsAddDeviceNotificationResponse":
- var dt *AdsAddDeviceNotificationResponse
- if m.Child != nil {
- dt = m.Child.(*AdsAddDeviceNotificationResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsDeleteDeviceNotificationRequest":
- var dt *AdsDeleteDeviceNotificationRequest
- if m.Child != nil {
- dt = m.Child.(*AdsDeleteDeviceNotificationRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsDeleteDeviceNotificationResponse":
- var dt *AdsDeleteDeviceNotificationResponse
- if m.Child != nil {
- dt = m.Child.(*AdsDeleteDeviceNotificationResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsDeviceNotificationRequest":
- var dt *AdsDeviceNotificationRequest
- if m.Child != nil {
- dt = m.Child.(*AdsDeviceNotificationRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsDeviceNotificationResponse":
- var dt *AdsDeviceNotificationResponse
- if m.Child != nil {
- dt = m.Child.(*AdsDeviceNotificationResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadWriteRequest":
- var dt *AdsReadWriteRequest
- if m.Child != nil {
- dt = m.Child.(*AdsReadWriteRequest)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsReadWriteResponse":
- var dt *AdsReadWriteResponse
- if m.Child != nil {
- dt = m.Child.(*AdsReadWriteResponse)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- }
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsData) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.ads.readwrite." + className[strings.LastIndex(className, ".")+1:]
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- marshaller, ok := m.Child.(xml.Marshaler)
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsData) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *AdsData) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *AdsData) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox) utils.AsciiBox {
- boxName := "AdsData"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
index 985ce81..1ce143a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
@@ -21,7 +21,6 @@ package model
import (
"encoding/xml"
- "fmt"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"io"
)
@@ -33,9 +32,7 @@ type AdsDataType int8
type IAdsDataType interface {
NumBytes() uint16
DataFormatName() string
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
const (
@@ -655,20 +652,18 @@ func (m AdsDataType) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsDataTypeParse(io utils.ReadBuffer) (AdsDataType, error) {
- val, err := io.ReadInt8("AdsDataType", 8)
+func AdsDataTypeParse(readBuffer utils.ReadBuffer) (AdsDataType, error) {
+ val, err := readBuffer.ReadInt8("AdsDataType", 8)
if err != nil {
return 0, nil
}
return AdsDataTypeByValue(val), nil
}
-func (e AdsDataType) Serialize(io utils.WriteBuffer) error {
- err := io.WriteInt8("AdsDataType", 8, int8(e), utils.WithAdditionalStringRepresentation(e.name()))
- return err
+func (e AdsDataType) Serialize(writeBuffer utils.WriteBuffer) error {
+ return writeBuffer.WriteInt8("AdsDataType", 8, int8(e), utils.WithAdditionalStringRepresentation(e.name()))
}
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
func (m *AdsDataType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
@@ -688,7 +683,6 @@ func (m *AdsDataType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
}
}
-// Deprecated: the utils.WriteBufferReadBased should be used instead
func (m AdsDataType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if err := e.EncodeElement(m.String(), start); err != nil {
return err
@@ -785,12 +779,3 @@ func (e AdsDataType) name() string {
func (e AdsDataType) String() string {
return e.name()
}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsDataType) Box(s string, i int) utils.AsciiBox {
- boxName := "AdsDataType"
- if s != "" {
- boxName += "/" + s
- }
- return utils.BoxString(boxName, fmt.Sprintf("%#0*x %s", 2, int8(m), m.name()), -1)
-}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
index 2c1ee8b..673cca7 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -38,9 +36,7 @@ type AdsDeleteDeviceNotificationRequest struct {
type IAdsDeleteDeviceNotificationRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -106,18 +102,18 @@ func (m *AdsDeleteDeviceNotificationRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsDeleteDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsDeleteDeviceNotificationRequest"); pullErr != nil {
+func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationRequest"); pullErr != nil {
return nil, pullErr
}
// Simple Field (notificationHandle)
- notificationHandle, _notificationHandleErr := io.ReadUint32("notificationHandle", 32)
+ notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
if _notificationHandleErr != nil {
return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
}
- if closeErr := io.CloseContext("AdsDeleteDeviceNotificationRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsDeleteDeviceNotificationRequest"); closeErr != nil {
return nil, closeErr
}
@@ -130,81 +126,23 @@ func AdsDeleteDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, err
return _child.Parent, nil
}
-func (m *AdsDeleteDeviceNotificationRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsDeleteDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsDeleteDeviceNotificationRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsDeleteDeviceNotificationRequest"); pushErr != nil {
return pushErr
}
// Simple Field (notificationHandle)
notificationHandle := uint32(m.NotificationHandle)
- _notificationHandleErr := io.WriteUint32("notificationHandle", 32, (notificationHandle))
+ _notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
if _notificationHandleErr != nil {
return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
}
- if popErr := io.PopContext("AdsDeleteDeviceNotificationRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsDeleteDeviceNotificationRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsDeleteDeviceNotificationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "notificationHandle":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.NotificationHandle = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsDeleteDeviceNotificationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsDeleteDeviceNotificationRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsDeleteDeviceNotificationRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsDeleteDeviceNotificationRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("NotificationHandle", m.NotificationHandle, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
index b8772dd..0379f72 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -38,9 +36,7 @@ type AdsDeleteDeviceNotificationResponse struct {
type IAdsDeleteDeviceNotificationResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -106,25 +102,25 @@ func (m *AdsDeleteDeviceNotificationResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsDeleteDeviceNotificationResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsDeleteDeviceNotificationResponse"); pullErr != nil {
+func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("result"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("result"); pullErr != nil {
return nil, pullErr
}
// Simple Field (result)
- result, _resultErr := ReturnCodeParse(io)
+ result, _resultErr := ReturnCodeParse(readBuffer)
if _resultErr != nil {
return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
}
- if closeErr := io.CloseContext("result"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("result"); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsDeleteDeviceNotificationResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsDeleteDeviceNotificationResponse"); closeErr != nil {
return nil, closeErr
}
@@ -137,85 +133,28 @@ func AdsDeleteDeviceNotificationResponseParse(io utils.ReadBuffer) (*AdsData, er
return _child.Parent, nil
}
-func (m *AdsDeleteDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsDeleteDeviceNotificationResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsDeleteDeviceNotificationResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsDeleteDeviceNotificationResponse"); pushErr != nil {
return pushErr
}
// Simple Field (result)
- if pushErr := io.PushContext("result"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
return pushErr
}
- _resultErr := m.Result.Serialize(io)
- if popErr := io.PopContext("result"); popErr != nil {
+ _resultErr := m.Result.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("result"); popErr != nil {
return popErr
}
if _resultErr != nil {
return errors.Wrap(_resultErr, "Error serializing 'result' field")
}
- if popErr := io.PopContext("AdsDeleteDeviceNotificationResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsDeleteDeviceNotificationResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsDeleteDeviceNotificationResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "result":
- var data ReturnCode
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Result = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsDeleteDeviceNotificationResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsDeleteDeviceNotificationResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsDeleteDeviceNotificationResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsDeleteDeviceNotificationResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Result.Box("result", width-2))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index 5dd3e97..ee07802 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,9 +38,7 @@ type AdsDeviceNotificationRequest struct {
type IAdsDeviceNotificationRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -121,41 +117,41 @@ func (m *AdsDeviceNotificationRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsDeviceNotificationRequest"); pullErr != nil {
+func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsDeviceNotificationRequest"); pullErr != nil {
return nil, pullErr
}
// Simple Field (length)
- length, _lengthErr := io.ReadUint32("length", 32)
+ length, _lengthErr := readBuffer.ReadUint32("length", 32)
if _lengthErr != nil {
return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
}
// Simple Field (stamps)
- stamps, _stampsErr := io.ReadUint32("stamps", 32)
+ stamps, _stampsErr := readBuffer.ReadUint32("stamps", 32)
if _stampsErr != nil {
return nil, errors.Wrap(_stampsErr, "Error parsing 'stamps' field")
}
// Array field (adsStampHeaders)
- if pullErr := io.PullContext("adsStampHeaders", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("adsStampHeaders", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
adsStampHeaders := make([]*AdsStampHeader, stamps)
for curItem := uint16(0); curItem < uint16(stamps); curItem++ {
- _item, _err := AdsStampHeaderParse(io)
+ _item, _err := AdsStampHeaderParse(readBuffer)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'adsStampHeaders' field")
}
adsStampHeaders[curItem] = _item
}
- if closeErr := io.CloseContext("adsStampHeaders", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("adsStampHeaders", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsDeviceNotificationRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsDeviceNotificationRequest"); closeErr != nil {
return nil, closeErr
}
@@ -170,142 +166,46 @@ func AdsDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsDeviceNotificationRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsDeviceNotificationRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsDeviceNotificationRequest"); pushErr != nil {
return pushErr
}
// Simple Field (length)
length := uint32(m.Length)
- _lengthErr := io.WriteUint32("length", 32, (length))
+ _lengthErr := writeBuffer.WriteUint32("length", 32, (length))
if _lengthErr != nil {
return errors.Wrap(_lengthErr, "Error serializing 'length' field")
}
// Simple Field (stamps)
stamps := uint32(m.Stamps)
- _stampsErr := io.WriteUint32("stamps", 32, (stamps))
+ _stampsErr := writeBuffer.WriteUint32("stamps", 32, (stamps))
if _stampsErr != nil {
return errors.Wrap(_stampsErr, "Error serializing 'stamps' field")
}
// Array Field (adsStampHeaders)
if m.AdsStampHeaders != nil {
- if pushErr := io.PushContext("adsStampHeaders", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("adsStampHeaders", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.AdsStampHeaders {
- _elementErr := _element.Serialize(io)
+ _elementErr := _element.Serialize(writeBuffer)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'adsStampHeaders' field")
}
}
- if popErr := io.PopContext("adsStampHeaders", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("adsStampHeaders", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("AdsDeviceNotificationRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsDeviceNotificationRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsDeviceNotificationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "length":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Length = data
- case "stamps":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Stamps = data
- case "adsStampHeaders":
- var data []*AdsStampHeader
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.AdsStampHeaders = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsDeviceNotificationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Stamps, xml.StartElement{Name: xml.Name{Local: "stamps"}}); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
- return err
- }
- for _, arrayElement := range m.AdsStampHeaders {
- if err := e.EncodeElement(arrayElement, xml.StartElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
- return err
- }
- }
- if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsDeviceNotificationRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsDeviceNotificationRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsDeviceNotificationRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Length", m.Length, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Stamps", m.Stamps, -1))
- // Array Field (adsStampHeaders)
- if m.AdsStampHeaders != nil {
- // Complex array base type
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.AdsStampHeaders {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("AdsStampHeaders", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
index 78c430b..ca99e3e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type AdsDeviceNotificationResponse struct {
type IAdsDeviceNotificationResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *AdsDeviceNotificationResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsDeviceNotificationResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsDeviceNotificationResponse"); pullErr != nil {
+func AdsDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsDeviceNotificationResponse"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("AdsDeviceNotificationResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsDeviceNotificationResponse"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func AdsDeviceNotificationResponseParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsDeviceNotificationResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsDeviceNotificationResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsDeviceNotificationResponse"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("AdsDeviceNotificationResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsDeviceNotificationResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsDeviceNotificationResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsDeviceNotificationResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m AdsDeviceNotificationResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsDeviceNotificationResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsDeviceNotificationResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
index 277e6e6..243dcbc 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type AdsInvalidRequest struct {
type IAdsInvalidRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *AdsInvalidRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsInvalidRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsInvalidRequest"); pullErr != nil {
+func AdsInvalidRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsInvalidRequest"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("AdsInvalidRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsInvalidRequest"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func AdsInvalidRequestParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsInvalidRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsInvalidRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsInvalidRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsInvalidRequest"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("AdsInvalidRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsInvalidRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsInvalidRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsInvalidRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m AdsInvalidRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsInvalidRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsInvalidRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
index caea4a7..89e8d34 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type AdsInvalidResponse struct {
type IAdsInvalidResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *AdsInvalidResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsInvalidResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsInvalidResponse"); pullErr != nil {
+func AdsInvalidResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsInvalidResponse"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("AdsInvalidResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsInvalidResponse"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func AdsInvalidResponseParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsInvalidResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsInvalidResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsInvalidResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsInvalidResponse"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("AdsInvalidResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsInvalidResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsInvalidResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsInvalidResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m AdsInvalidResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsInvalidResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsInvalidResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
index d5b268f..f058809 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "reflect"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,22 +36,19 @@ type IAdsMultiRequestItem interface {
IndexGroup() uint32
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
type IAdsMultiRequestItemParent interface {
- SerializeParent(io utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error
+ SerializeParent(writeBuffer utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error
GetTypeName() string
}
type IAdsMultiRequestItemChild interface {
- Serialize(io utils.WriteBuffer) error
+ Serialize(writeBuffer utils.WriteBuffer) error
InitializeParent(parent *AdsMultiRequestItem)
GetTypeName() string
IAdsMultiRequestItem
- utils.AsciiBoxer
}
func NewAdsMultiRequestItem() *AdsMultiRequestItem {
@@ -97,8 +90,8 @@ func (m *AdsMultiRequestItem) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsMultiRequestItemParse(io utils.ReadBuffer, indexGroup uint32) (*AdsMultiRequestItem, error) {
- if pullErr := io.PullContext("AdsMultiRequestItem"); pullErr != nil {
+func AdsMultiRequestItemParse(readBuffer utils.ReadBuffer, indexGroup uint32) (*AdsMultiRequestItem, error) {
+ if pullErr := readBuffer.PullContext("AdsMultiRequestItem"); pullErr != nil {
return nil, pullErr
}
@@ -107,11 +100,11 @@ func AdsMultiRequestItemParse(io utils.ReadBuffer, indexGroup uint32) (*AdsMulti
var typeSwitchError error
switch {
case indexGroup == 61568: // AdsMultiRequestItemRead
- _parent, typeSwitchError = AdsMultiRequestItemReadParse(io)
+ _parent, typeSwitchError = AdsMultiRequestItemReadParse(readBuffer)
case indexGroup == 61569: // AdsMultiRequestItemWrite
- _parent, typeSwitchError = AdsMultiRequestItemWriteParse(io)
+ _parent, typeSwitchError = AdsMultiRequestItemWriteParse(readBuffer)
case indexGroup == 61570: // AdsMultiRequestItemReadWrite
- _parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(io)
+ _parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(readBuffer)
default:
// TODO: return actual type
typeSwitchError = errors.New("Unmapped type")
@@ -120,7 +113,7 @@ func AdsMultiRequestItemParse(io utils.ReadBuffer, indexGroup uint32) (*AdsMulti
return nil, errors.Wrap(typeSwitchError, "Error parsing sub-type for type-switch.")
}
- if closeErr := io.CloseContext("AdsMultiRequestItem"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsMultiRequestItem"); closeErr != nil {
return nil, closeErr
}
@@ -129,12 +122,12 @@ func AdsMultiRequestItemParse(io utils.ReadBuffer, indexGroup uint32) (*AdsMulti
return _parent, nil
}
-func (m *AdsMultiRequestItem) Serialize(io utils.WriteBuffer) error {
- return m.Child.Serialize(io)
+func (m *AdsMultiRequestItem) Serialize(writeBuffer utils.WriteBuffer) error {
+ return m.Child.Serialize(writeBuffer)
}
-func (m *AdsMultiRequestItem) SerializeParent(io utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error {
- if pushErr := io.PushContext("AdsMultiRequestItem"); pushErr != nil {
+func (m *AdsMultiRequestItem) SerializeParent(writeBuffer utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error {
+ if pushErr := writeBuffer.PushContext("AdsMultiRequestItem"); pushErr != nil {
return pushErr
}
@@ -144,125 +137,8 @@ func (m *AdsMultiRequestItem) SerializeParent(io utils.WriteBuffer, child IAdsMu
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
- if popErr := io.PopContext("AdsMultiRequestItem"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsMultiRequestItem"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsMultiRequestItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- if start.Attr != nil && len(start.Attr) > 0 {
- switch start.Attr[0].Value {
- }
- }
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- default:
- attr := start.Attr
- if attr == nil || len(attr) <= 0 {
- // TODO: workaround for bug with nested lists
- attr = tok.Attr
- }
- if attr == nil || len(attr) <= 0 {
- panic("Couldn't determine class type for childs of AdsMultiRequestItem")
- }
- switch attr[0].Value {
- case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemRead":
- var dt *AdsMultiRequestItemRead
- if m.Child != nil {
- dt = m.Child.(*AdsMultiRequestItemRead)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemWrite":
- var dt *AdsMultiRequestItemWrite
- if m.Child != nil {
- dt = m.Child.(*AdsMultiRequestItemWrite)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemReadWrite":
- var dt *AdsMultiRequestItemReadWrite
- if m.Child != nil {
- dt = m.Child.(*AdsMultiRequestItemReadWrite)
- }
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- if m.Child == nil {
- dt.Parent = m
- m.Child = dt
- }
- }
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsMultiRequestItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.ads.readwrite." + className[strings.LastIndex(className, ".")+1:]
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- marshaller, ok := m.Child.(xml.Marshaler)
- if !ok {
- return errors.Errorf("child is not castable to Marshaler. Actual type %T", m.Child)
- }
- if err := marshaller.MarshalXML(e, start); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsMultiRequestItem) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *AdsMultiRequestItem) Box(name string, width int) utils.AsciiBox {
- return m.Child.Box(name, width)
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m *AdsMultiRequestItem) BoxParent(name string, width int, childBoxer func() []utils.AsciiBox) utils.AsciiBox {
- boxName := "AdsMultiRequestItem"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Switch field (Depending on the discriminator values, passes the boxing to a sub-type)
- boxes = append(boxes, childBoxer()...)
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
index 09ec9fd..57b56c3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,9 +38,7 @@ type AdsMultiRequestItemRead struct {
type IAdsMultiRequestItemRead interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -112,30 +108,30 @@ func (m *AdsMultiRequestItemRead) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsMultiRequestItemReadParse(io utils.ReadBuffer) (*AdsMultiRequestItem, error) {
- if pullErr := io.PullContext("AdsMultiRequestItemRead"); pullErr != nil {
+func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
+ if pullErr := readBuffer.PullContext("AdsMultiRequestItemRead"); pullErr != nil {
return nil, pullErr
}
// Simple Field (itemIndexGroup)
- itemIndexGroup, _itemIndexGroupErr := io.ReadUint32("itemIndexGroup", 32)
+ itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
if _itemIndexGroupErr != nil {
return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
}
// Simple Field (itemIndexOffset)
- itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32("itemIndexOffset", 32)
+ itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
if _itemIndexOffsetErr != nil {
return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
}
// Simple Field (itemReadLength)
- itemReadLength, _itemReadLengthErr := io.ReadUint32("itemReadLength", 32)
+ itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
if _itemReadLengthErr != nil {
return nil, errors.Wrap(_itemReadLengthErr, "Error parsing 'itemReadLength' field")
}
- if closeErr := io.CloseContext("AdsMultiRequestItemRead"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsMultiRequestItemRead"); closeErr != nil {
return nil, closeErr
}
@@ -150,119 +146,37 @@ func AdsMultiRequestItemReadParse(io utils.ReadBuffer) (*AdsMultiRequestItem, er
return _child.Parent, nil
}
-func (m *AdsMultiRequestItemRead) Serialize(io utils.WriteBuffer) error {
+func (m *AdsMultiRequestItemRead) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsMultiRequestItemRead"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsMultiRequestItemRead"); pushErr != nil {
return pushErr
}
// Simple Field (itemIndexGroup)
itemIndexGroup := uint32(m.ItemIndexGroup)
- _itemIndexGroupErr := io.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+ _itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
if _itemIndexGroupErr != nil {
return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
}
// Simple Field (itemIndexOffset)
itemIndexOffset := uint32(m.ItemIndexOffset)
- _itemIndexOffsetErr := io.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+ _itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
if _itemIndexOffsetErr != nil {
return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
}
// Simple Field (itemReadLength)
itemReadLength := uint32(m.ItemReadLength)
- _itemReadLengthErr := io.WriteUint32("itemReadLength", 32, (itemReadLength))
+ _itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
if _itemReadLengthErr != nil {
return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
}
- if popErr := io.PopContext("AdsMultiRequestItemRead"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsMultiRequestItemRead"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsMultiRequestItemRead) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "itemIndexGroup":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemIndexGroup = data
- case "itemIndexOffset":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemIndexOffset = data
- case "itemReadLength":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemReadLength = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsMultiRequestItemRead) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemReadLength, xml.StartElement{Name: xml.Name{Local: "itemReadLength"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsMultiRequestItemRead) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsMultiRequestItemRead) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsMultiRequestItemRead"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemIndexGroup", m.ItemIndexGroup, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemIndexOffset", m.ItemIndexOffset, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemReadLength", m.ItemReadLength, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
index 1005728..2c54f51 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -41,9 +39,7 @@ type AdsMultiRequestItemReadWrite struct {
type IAdsMultiRequestItemReadWrite interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -117,36 +113,36 @@ func (m *AdsMultiRequestItemReadWrite) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsMultiRequestItemReadWriteParse(io utils.ReadBuffer) (*AdsMultiRequestItem, error) {
- if pullErr := io.PullContext("AdsMultiRequestItemReadWrite"); pullErr != nil {
+func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
+ if pullErr := readBuffer.PullContext("AdsMultiRequestItemReadWrite"); pullErr != nil {
return nil, pullErr
}
// Simple Field (itemIndexGroup)
- itemIndexGroup, _itemIndexGroupErr := io.ReadUint32("itemIndexGroup", 32)
+ itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
if _itemIndexGroupErr != nil {
return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
}
// Simple Field (itemIndexOffset)
- itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32("itemIndexOffset", 32)
+ itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
if _itemIndexOffsetErr != nil {
return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
}
// Simple Field (itemReadLength)
- itemReadLength, _itemReadLengthErr := io.ReadUint32("itemReadLength", 32)
+ itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
if _itemReadLengthErr != nil {
return nil, errors.Wrap(_itemReadLengthErr, "Error parsing 'itemReadLength' field")
}
// Simple Field (itemWriteLength)
- itemWriteLength, _itemWriteLengthErr := io.ReadUint32("itemWriteLength", 32)
+ itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
if _itemWriteLengthErr != nil {
return nil, errors.Wrap(_itemWriteLengthErr, "Error parsing 'itemWriteLength' field")
}
- if closeErr := io.CloseContext("AdsMultiRequestItemReadWrite"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsMultiRequestItemReadWrite"); closeErr != nil {
return nil, closeErr
}
@@ -162,138 +158,44 @@ func AdsMultiRequestItemReadWriteParse(io utils.ReadBuffer) (*AdsMultiRequestIte
return _child.Parent, nil
}
-func (m *AdsMultiRequestItemReadWrite) Serialize(io utils.WriteBuffer) error {
+func (m *AdsMultiRequestItemReadWrite) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsMultiRequestItemReadWrite"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsMultiRequestItemReadWrite"); pushErr != nil {
return pushErr
}
// Simple Field (itemIndexGroup)
itemIndexGroup := uint32(m.ItemIndexGroup)
- _itemIndexGroupErr := io.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+ _itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
if _itemIndexGroupErr != nil {
return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
}
// Simple Field (itemIndexOffset)
itemIndexOffset := uint32(m.ItemIndexOffset)
- _itemIndexOffsetErr := io.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+ _itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
if _itemIndexOffsetErr != nil {
return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
}
// Simple Field (itemReadLength)
itemReadLength := uint32(m.ItemReadLength)
- _itemReadLengthErr := io.WriteUint32("itemReadLength", 32, (itemReadLength))
+ _itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
if _itemReadLengthErr != nil {
return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
}
// Simple Field (itemWriteLength)
itemWriteLength := uint32(m.ItemWriteLength)
- _itemWriteLengthErr := io.WriteUint32("itemWriteLength", 32, (itemWriteLength))
+ _itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
if _itemWriteLengthErr != nil {
return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
}
- if popErr := io.PopContext("AdsMultiRequestItemReadWrite"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsMultiRequestItemReadWrite"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsMultiRequestItemReadWrite) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "itemIndexGroup":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemIndexGroup = data
- case "itemIndexOffset":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemIndexOffset = data
- case "itemReadLength":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemReadLength = data
- case "itemWriteLength":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemWriteLength = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsMultiRequestItemReadWrite) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemReadLength, xml.StartElement{Name: xml.Name{Local: "itemReadLength"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemWriteLength, xml.StartElement{Name: xml.Name{Local: "itemWriteLength"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsMultiRequestItemReadWrite) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsMultiRequestItemReadWrite) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsMultiRequestItemReadWrite"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemIndexGroup", m.ItemIndexGroup, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemIndexOffset", m.ItemIndexOffset, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemReadLength", m.ItemReadLength, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemWriteLength", m.ItemWriteLength, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
index 73b0038..9d3379a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,9 +38,7 @@ type AdsMultiRequestItemWrite struct {
type IAdsMultiRequestItemWrite interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -112,30 +108,30 @@ func (m *AdsMultiRequestItemWrite) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsMultiRequestItemWriteParse(io utils.ReadBuffer) (*AdsMultiRequestItem, error) {
- if pullErr := io.PullContext("AdsMultiRequestItemWrite"); pullErr != nil {
+func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
+ if pullErr := readBuffer.PullContext("AdsMultiRequestItemWrite"); pullErr != nil {
return nil, pullErr
}
// Simple Field (itemIndexGroup)
- itemIndexGroup, _itemIndexGroupErr := io.ReadUint32("itemIndexGroup", 32)
+ itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
if _itemIndexGroupErr != nil {
return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
}
// Simple Field (itemIndexOffset)
- itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32("itemIndexOffset", 32)
+ itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
if _itemIndexOffsetErr != nil {
return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
}
// Simple Field (itemWriteLength)
- itemWriteLength, _itemWriteLengthErr := io.ReadUint32("itemWriteLength", 32)
+ itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
if _itemWriteLengthErr != nil {
return nil, errors.Wrap(_itemWriteLengthErr, "Error parsing 'itemWriteLength' field")
}
- if closeErr := io.CloseContext("AdsMultiRequestItemWrite"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsMultiRequestItemWrite"); closeErr != nil {
return nil, closeErr
}
@@ -150,119 +146,37 @@ func AdsMultiRequestItemWriteParse(io utils.ReadBuffer) (*AdsMultiRequestItem, e
return _child.Parent, nil
}
-func (m *AdsMultiRequestItemWrite) Serialize(io utils.WriteBuffer) error {
+func (m *AdsMultiRequestItemWrite) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsMultiRequestItemWrite"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsMultiRequestItemWrite"); pushErr != nil {
return pushErr
}
// Simple Field (itemIndexGroup)
itemIndexGroup := uint32(m.ItemIndexGroup)
- _itemIndexGroupErr := io.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+ _itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
if _itemIndexGroupErr != nil {
return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
}
// Simple Field (itemIndexOffset)
itemIndexOffset := uint32(m.ItemIndexOffset)
- _itemIndexOffsetErr := io.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+ _itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
if _itemIndexOffsetErr != nil {
return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
}
// Simple Field (itemWriteLength)
itemWriteLength := uint32(m.ItemWriteLength)
- _itemWriteLengthErr := io.WriteUint32("itemWriteLength", 32, (itemWriteLength))
+ _itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
if _itemWriteLengthErr != nil {
return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
}
- if popErr := io.PopContext("AdsMultiRequestItemWrite"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsMultiRequestItemWrite"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsMultiRequestItemWrite) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "itemIndexGroup":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemIndexGroup = data
- case "itemIndexOffset":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemIndexOffset = data
- case "itemWriteLength":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ItemWriteLength = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsMultiRequestItemWrite) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ItemWriteLength, xml.StartElement{Name: xml.Name{Local: "itemWriteLength"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsMultiRequestItemWrite) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsMultiRequestItemWrite) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsMultiRequestItemWrite"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemIndexGroup", m.ItemIndexGroup, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemIndexOffset", m.ItemIndexOffset, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ItemWriteLength", m.ItemWriteLength, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
index 06f57b2..588f7b7 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/hex"
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -41,9 +37,7 @@ type AdsNotificationSample struct {
type IAdsNotificationSample interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
func NewAdsNotificationSample(notificationHandle uint32, sampleSize uint32, data []int8) *AdsNotificationSample {
@@ -92,41 +86,41 @@ func (m *AdsNotificationSample) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsNotificationSampleParse(io utils.ReadBuffer) (*AdsNotificationSample, error) {
- if pullErr := io.PullContext("AdsNotificationSample"); pullErr != nil {
+func AdsNotificationSampleParse(readBuffer utils.ReadBuffer) (*AdsNotificationSample, error) {
+ if pullErr := readBuffer.PullContext("AdsNotificationSample"); pullErr != nil {
return nil, pullErr
}
// Simple Field (notificationHandle)
- notificationHandle, _notificationHandleErr := io.ReadUint32("notificationHandle", 32)
+ notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
if _notificationHandleErr != nil {
return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
}
// Simple Field (sampleSize)
- sampleSize, _sampleSizeErr := io.ReadUint32("sampleSize", 32)
+ sampleSize, _sampleSizeErr := readBuffer.ReadUint32("sampleSize", 32)
if _sampleSizeErr != nil {
return nil, errors.Wrap(_sampleSizeErr, "Error parsing 'sampleSize' field")
}
// Array field (data)
- if pullErr := io.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
data := make([]int8, sampleSize)
for curItem := uint16(0); curItem < uint16(sampleSize); curItem++ {
- _item, _err := io.ReadInt8("", 8)
+ _item, _err := readBuffer.ReadInt8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'data' field")
}
data[curItem] = _item
}
- if closeErr := io.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsNotificationSample"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsNotificationSample"); closeErr != nil {
return nil, closeErr
}
@@ -134,143 +128,43 @@ func AdsNotificationSampleParse(io utils.ReadBuffer) (*AdsNotificationSample, er
return NewAdsNotificationSample(notificationHandle, sampleSize, data), nil
}
-func (m *AdsNotificationSample) Serialize(io utils.WriteBuffer) error {
- if pushErr := io.PushContext("AdsNotificationSample"); pushErr != nil {
+func (m *AdsNotificationSample) Serialize(writeBuffer utils.WriteBuffer) error {
+ if pushErr := writeBuffer.PushContext("AdsNotificationSample"); pushErr != nil {
return pushErr
}
// Simple Field (notificationHandle)
notificationHandle := uint32(m.NotificationHandle)
- _notificationHandleErr := io.WriteUint32("notificationHandle", 32, (notificationHandle))
+ _notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
if _notificationHandleErr != nil {
return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
}
// Simple Field (sampleSize)
sampleSize := uint32(m.SampleSize)
- _sampleSizeErr := io.WriteUint32("sampleSize", 32, (sampleSize))
+ _sampleSizeErr := writeBuffer.WriteUint32("sampleSize", 32, (sampleSize))
if _sampleSizeErr != nil {
return errors.Wrap(_sampleSizeErr, "Error serializing 'sampleSize' field")
}
// Array Field (data)
if m.Data != nil {
- if pushErr := io.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Data {
- _elementErr := io.WriteInt8("", 8, _element)
+ _elementErr := writeBuffer.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'data' field")
}
}
- if popErr := io.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("AdsNotificationSample"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsNotificationSample"); popErr != nil {
return popErr
}
return nil
}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsNotificationSample) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- for {
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "notificationHandle":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.NotificationHandle = data
- case "sampleSize":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.SampleSize = data
- case "data":
- var _encoded string
- if err := d.DecodeElement(&_encoded, &tok); err != nil {
- return err
- }
- _decoded, err := hex.DecodeString(_encoded)
- _len := len(_decoded)
- if err != nil {
- return err
- }
- m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
- }
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsNotificationSample) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- className := "org.apache.plc4x.java.ads.readwrite.AdsNotificationSample"
- if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
- {Name: xml.Name{Local: "className"}, Value: className},
- }}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.SampleSize, xml.StartElement{Name: xml.Name{Local: "sampleSize"}}); err != nil {
- return err
- }
- _encodedData := hex.EncodeToString(utils.Int8ArrayToByteArray(m.Data))
- _encodedData = strings.ToUpper(_encodedData)
- if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsNotificationSample) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsNotificationSample) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsNotificationSample"
- if name != "" {
- boxName += "/" + name
- }
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("NotificationHandle", m.NotificationHandle, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("SampleSize", m.SampleSize, -1))
- // Array Field (data)
- if m.Data != nil {
- // Simple array base type int8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Data {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Data", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return utils.BoxBox(boxName, utils.AlignBoxes(boxes, width-2), 0)
-}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
index 1ed37f1..cfe8019 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type AdsReadDeviceInfoRequest struct {
type IAdsReadDeviceInfoRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *AdsReadDeviceInfoRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadDeviceInfoRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadDeviceInfoRequest"); pullErr != nil {
+func AdsReadDeviceInfoRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadDeviceInfoRequest"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("AdsReadDeviceInfoRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadDeviceInfoRequest"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func AdsReadDeviceInfoRequestParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadDeviceInfoRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadDeviceInfoRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadDeviceInfoRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadDeviceInfoRequest"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("AdsReadDeviceInfoRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadDeviceInfoRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadDeviceInfoRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadDeviceInfoRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m AdsReadDeviceInfoRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadDeviceInfoRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadDeviceInfoRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index a89532d..a1612a4 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/hex"
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -44,9 +40,7 @@ type AdsReadDeviceInfoResponse struct {
type IAdsReadDeviceInfoResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -130,60 +124,60 @@ func (m *AdsReadDeviceInfoResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadDeviceInfoResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadDeviceInfoResponse"); pullErr != nil {
+func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadDeviceInfoResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("result"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("result"); pullErr != nil {
return nil, pullErr
}
// Simple Field (result)
- result, _resultErr := ReturnCodeParse(io)
+ result, _resultErr := ReturnCodeParse(readBuffer)
if _resultErr != nil {
return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
}
- if closeErr := io.CloseContext("result"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("result"); closeErr != nil {
return nil, closeErr
}
// Simple Field (majorVersion)
- majorVersion, _majorVersionErr := io.ReadUint8("majorVersion", 8)
+ majorVersion, _majorVersionErr := readBuffer.ReadUint8("majorVersion", 8)
if _majorVersionErr != nil {
return nil, errors.Wrap(_majorVersionErr, "Error parsing 'majorVersion' field")
}
// Simple Field (minorVersion)
- minorVersion, _minorVersionErr := io.ReadUint8("minorVersion", 8)
+ minorVersion, _minorVersionErr := readBuffer.ReadUint8("minorVersion", 8)
if _minorVersionErr != nil {
return nil, errors.Wrap(_minorVersionErr, "Error parsing 'minorVersion' field")
}
// Simple Field (version)
- version, _versionErr := io.ReadUint16("version", 16)
+ version, _versionErr := readBuffer.ReadUint16("version", 16)
if _versionErr != nil {
return nil, errors.Wrap(_versionErr, "Error parsing 'version' field")
}
// Array field (device)
- if pullErr := io.PullContext("device", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("device", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
device := make([]int8, uint16(16))
for curItem := uint16(0); curItem < uint16(uint16(16)); curItem++ {
- _item, _err := io.ReadInt8("", 8)
+ _item, _err := readBuffer.ReadInt8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'device' field")
}
device[curItem] = _item
}
- if closeErr := io.CloseContext("device", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("device", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsReadDeviceInfoResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadDeviceInfoResponse"); closeErr != nil {
return nil, closeErr
}
@@ -200,18 +194,18 @@ func AdsReadDeviceInfoResponseParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadDeviceInfoResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadDeviceInfoResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadDeviceInfoResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadDeviceInfoResponse"); pushErr != nil {
return pushErr
}
// Simple Field (result)
- if pushErr := io.PushContext("result"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
return pushErr
}
- _resultErr := m.Result.Serialize(io)
- if popErr := io.PopContext("result"); popErr != nil {
+ _resultErr := m.Result.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("result"); popErr != nil {
return popErr
}
if _resultErr != nil {
@@ -220,163 +214,45 @@ func (m *AdsReadDeviceInfoResponse) Serialize(io utils.WriteBuffer) error {
// Simple Field (majorVersion)
majorVersion := uint8(m.MajorVersion)
- _majorVersionErr := io.WriteUint8("majorVersion", 8, (majorVersion))
+ _majorVersionErr := writeBuffer.WriteUint8("majorVersion", 8, (majorVersion))
if _majorVersionErr != nil {
return errors.Wrap(_majorVersionErr, "Error serializing 'majorVersion' field")
}
// Simple Field (minorVersion)
minorVersion := uint8(m.MinorVersion)
- _minorVersionErr := io.WriteUint8("minorVersion", 8, (minorVersion))
+ _minorVersionErr := writeBuffer.WriteUint8("minorVersion", 8, (minorVersion))
if _minorVersionErr != nil {
return errors.Wrap(_minorVersionErr, "Error serializing 'minorVersion' field")
}
// Simple Field (version)
version := uint16(m.Version)
- _versionErr := io.WriteUint16("version", 16, (version))
+ _versionErr := writeBuffer.WriteUint16("version", 16, (version))
if _versionErr != nil {
return errors.Wrap(_versionErr, "Error serializing 'version' field")
}
// Array Field (device)
if m.Device != nil {
- if pushErr := io.PushContext("device", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("device", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Device {
- _elementErr := io.WriteInt8("", 8, _element)
+ _elementErr := writeBuffer.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'device' field")
}
}
- if popErr := io.PopContext("device", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("device", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("AdsReadDeviceInfoResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadDeviceInfoResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadDeviceInfoResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "result":
- var data ReturnCode
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Result = data
- case "majorVersion":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.MajorVersion = data
- case "minorVersion":
- var data uint8
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.MinorVersion = data
- case "version":
- var data uint16
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Version = data
- case "device":
- var _encoded string
- if err := d.DecodeElement(&_encoded, &tok); err != nil {
- return err
- }
- _decoded, err := hex.DecodeString(_encoded)
- _len := len(_decoded)
- if err != nil {
- return err
- }
- m.Device = utils.ByteArrayToInt8Array(_decoded[0:_len])
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadDeviceInfoResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.MajorVersion, xml.StartElement{Name: xml.Name{Local: "majorVersion"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.MinorVersion, xml.StartElement{Name: xml.Name{Local: "minorVersion"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Version, xml.StartElement{Name: xml.Name{Local: "version"}}); err != nil {
- return err
- }
- _encodedDevice := hex.EncodeToString(utils.Int8ArrayToByteArray(m.Device))
- _encodedDevice = strings.ToUpper(_encodedDevice)
- if err := e.EncodeElement(_encodedDevice, xml.StartElement{Name: xml.Name{Local: "device"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsReadDeviceInfoResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadDeviceInfoResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadDeviceInfoResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Result.Box("result", width-2))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("MajorVersion", m.MajorVersion, -1))
- // Simple field (case simple)
- // uint8 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("MinorVersion", m.MinorVersion, -1))
- // Simple field (case simple)
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Version", m.Version, -1))
- // Array Field (device)
- if m.Device != nil {
- // Simple array base type int8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Device {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Device", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
index cf81bfd..ba25b2f 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,9 +38,7 @@ type AdsReadRequest struct {
type IAdsReadRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -116,30 +112,30 @@ func (m *AdsReadRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadRequest"); pullErr != nil {
+func AdsReadRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadRequest"); pullErr != nil {
return nil, pullErr
}
// Simple Field (indexGroup)
- indexGroup, _indexGroupErr := io.ReadUint32("indexGroup", 32)
+ indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
if _indexGroupErr != nil {
return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
}
// Simple Field (indexOffset)
- indexOffset, _indexOffsetErr := io.ReadUint32("indexOffset", 32)
+ indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
if _indexOffsetErr != nil {
return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
}
// Simple Field (length)
- length, _lengthErr := io.ReadUint32("length", 32)
+ length, _lengthErr := readBuffer.ReadUint32("length", 32)
if _lengthErr != nil {
return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
}
- if closeErr := io.CloseContext("AdsReadRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadRequest"); closeErr != nil {
return nil, closeErr
}
@@ -154,119 +150,37 @@ func AdsReadRequestParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadRequest"); pushErr != nil {
return pushErr
}
// Simple Field (indexGroup)
indexGroup := uint32(m.IndexGroup)
- _indexGroupErr := io.WriteUint32("indexGroup", 32, (indexGroup))
+ _indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
if _indexGroupErr != nil {
return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
}
// Simple Field (indexOffset)
indexOffset := uint32(m.IndexOffset)
- _indexOffsetErr := io.WriteUint32("indexOffset", 32, (indexOffset))
+ _indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
if _indexOffsetErr != nil {
return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
}
// Simple Field (length)
length := uint32(m.Length)
- _lengthErr := io.WriteUint32("length", 32, (length))
+ _lengthErr := writeBuffer.WriteUint32("length", 32, (length))
if _lengthErr != nil {
return errors.Wrap(_lengthErr, "Error serializing 'length' field")
}
- if popErr := io.PopContext("AdsReadRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "indexGroup":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.IndexGroup = data
- case "indexOffset":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.IndexOffset = data
- case "length":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Length = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsReadRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("IndexGroup", m.IndexGroup, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("IndexOffset", m.IndexOffset, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Length", m.Length, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index 360faf1..d05834c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/hex"
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -41,9 +37,7 @@ type AdsReadResponse struct {
type IAdsReadResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -118,49 +112,49 @@ func (m *AdsReadResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadResponse"); pullErr != nil {
+func AdsReadResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("result"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("result"); pullErr != nil {
return nil, pullErr
}
// Simple Field (result)
- result, _resultErr := ReturnCodeParse(io)
+ result, _resultErr := ReturnCodeParse(readBuffer)
if _resultErr != nil {
return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
}
- if closeErr := io.CloseContext("result"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("result"); closeErr != nil {
return nil, closeErr
}
// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- length, _lengthErr := io.ReadUint32("length", 32)
+ length, _lengthErr := readBuffer.ReadUint32("length", 32)
_ = length
if _lengthErr != nil {
return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
}
// Array field (data)
- if pullErr := io.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
data := make([]int8, length)
for curItem := uint16(0); curItem < uint16(length); curItem++ {
- _item, _err := io.ReadInt8("", 8)
+ _item, _err := readBuffer.ReadInt8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'data' field")
}
data[curItem] = _item
}
- if closeErr := io.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsReadResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadResponse"); closeErr != nil {
return nil, closeErr
}
@@ -174,18 +168,18 @@ func AdsReadResponseParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadResponse"); pushErr != nil {
return pushErr
}
// Simple Field (result)
- if pushErr := io.PushContext("result"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
return pushErr
}
- _resultErr := m.Result.Serialize(io)
- if popErr := io.PopContext("result"); popErr != nil {
+ _resultErr := m.Result.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("result"); popErr != nil {
return popErr
}
if _resultErr != nil {
@@ -194,117 +188,31 @@ func (m *AdsReadResponse) Serialize(io utils.WriteBuffer) error {
// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
length := uint32(uint32(len(m.Data)))
- _lengthErr := io.WriteUint32("length", 32, (length))
+ _lengthErr := writeBuffer.WriteUint32("length", 32, (length))
if _lengthErr != nil {
return errors.Wrap(_lengthErr, "Error serializing 'length' field")
}
// Array Field (data)
if m.Data != nil {
- if pushErr := io.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Data {
- _elementErr := io.WriteInt8("", 8, _element)
+ _elementErr := writeBuffer.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'data' field")
}
}
- if popErr := io.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("AdsReadResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "result":
- var data ReturnCode
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Result = data
- case "data":
- var _encoded string
- if err := d.DecodeElement(&_encoded, &tok); err != nil {
- return err
- }
- _decoded, err := hex.DecodeString(_encoded)
- _len := len(_decoded)
- if err != nil {
- return err
- }
- m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
- return err
- }
- _encodedData := hex.EncodeToString(utils.Int8ArrayToByteArray(m.Data))
- _encodedData = strings.ToUpper(_encodedData)
- if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsReadResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Result.Box("result", width-2))
- // Implicit Field (length)
- length := uint32(uint32(len(m.Data)))
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Length", length, -1))
- // Array Field (data)
- if m.Data != nil {
- // Simple array base type int8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Data {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Data", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
index 1674377..b517cf7 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
@@ -20,9 +20,7 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -36,9 +34,7 @@ type AdsReadStateRequest struct {
type IAdsReadStateRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -100,12 +96,12 @@ func (m *AdsReadStateRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadStateRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadStateRequest"); pullErr != nil {
+func AdsReadStateRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadStateRequest"); pullErr != nil {
return nil, pullErr
}
- if closeErr := io.CloseContext("AdsReadStateRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadStateRequest"); closeErr != nil {
return nil, closeErr
}
@@ -117,62 +113,16 @@ func AdsReadStateRequestParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadStateRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadStateRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadStateRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadStateRequest"); pushErr != nil {
return pushErr
}
- if popErr := io.PopContext("AdsReadStateRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadStateRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadStateRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadStateRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- return nil
-}
-
-func (m AdsReadStateRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadStateRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadStateRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
index 39ebfda..880a591 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -40,9 +38,7 @@ type AdsReadStateResponse struct {
type IAdsReadStateResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -116,37 +112,37 @@ func (m *AdsReadStateResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadStateResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadStateResponse"); pullErr != nil {
+func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadStateResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("result"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("result"); pullErr != nil {
return nil, pullErr
}
// Simple Field (result)
- result, _resultErr := ReturnCodeParse(io)
+ result, _resultErr := ReturnCodeParse(readBuffer)
if _resultErr != nil {
return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
}
- if closeErr := io.CloseContext("result"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("result"); closeErr != nil {
return nil, closeErr
}
// Simple Field (adsState)
- adsState, _adsStateErr := io.ReadUint16("adsState", 16)
+ adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
if _adsStateErr != nil {
return nil, errors.Wrap(_adsStateErr, "Error parsing 'adsState' field")
}
// Simple Field (deviceState)
- deviceState, _deviceStateErr := io.ReadUint16("deviceState", 16)
+ deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
if _deviceStateErr != nil {
return nil, errors.Wrap(_deviceStateErr, "Error parsing 'deviceState' field")
}
- if closeErr := io.CloseContext("AdsReadStateResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadStateResponse"); closeErr != nil {
return nil, closeErr
}
@@ -161,18 +157,18 @@ func AdsReadStateResponseParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadStateResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadStateResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadStateResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadStateResponse"); pushErr != nil {
return pushErr
}
// Simple Field (result)
- if pushErr := io.PushContext("result"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
return pushErr
}
- _resultErr := m.Result.Serialize(io)
- if popErr := io.PopContext("result"); popErr != nil {
+ _resultErr := m.Result.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("result"); popErr != nil {
return popErr
}
if _resultErr != nil {
@@ -181,103 +177,22 @@ func (m *AdsReadStateResponse) Serialize(io utils.WriteBuffer) error {
// Simple Field (adsState)
adsState := uint16(m.AdsState)
- _adsStateErr := io.WriteUint16("adsState", 16, (adsState))
+ _adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
if _adsStateErr != nil {
return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
}
// Simple Field (deviceState)
deviceState := uint16(m.DeviceState)
- _deviceStateErr := io.WriteUint16("deviceState", 16, (deviceState))
+ _deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
if _deviceStateErr != nil {
return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
}
- if popErr := io.PopContext("AdsReadStateResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadStateResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadStateResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "result":
- var data ReturnCode
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Result = data
- case "adsState":
- var data uint16
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.AdsState = data
- case "deviceState":
- var data uint16
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.DeviceState = data
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadStateResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.AdsState, xml.StartElement{Name: xml.Name{Local: "adsState"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.DeviceState, xml.StartElement{Name: xml.Name{Local: "deviceState"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsReadStateResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadStateResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadStateResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Result.Box("result", width-2))
- // Simple field (case simple)
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("AdsState", m.AdsState, -1))
- // Simple field (case simple)
- // uint16 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("DeviceState", m.DeviceState, -1))
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index 3fad0db..c0df38e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/hex"
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -44,9 +40,7 @@ type AdsReadWriteRequest struct {
type IAdsReadWriteRequest interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -138,71 +132,71 @@ func (m *AdsReadWriteRequest) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadWriteRequest"); pullErr != nil {
+func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadWriteRequest"); pullErr != nil {
return nil, pullErr
}
// Simple Field (indexGroup)
- indexGroup, _indexGroupErr := io.ReadUint32("indexGroup", 32)
+ indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
if _indexGroupErr != nil {
return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
}
// Simple Field (indexOffset)
- indexOffset, _indexOffsetErr := io.ReadUint32("indexOffset", 32)
+ indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
if _indexOffsetErr != nil {
return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
}
// Simple Field (readLength)
- readLength, _readLengthErr := io.ReadUint32("readLength", 32)
+ readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
if _readLengthErr != nil {
return nil, errors.Wrap(_readLengthErr, "Error parsing 'readLength' field")
}
// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- writeLength, _writeLengthErr := io.ReadUint32("writeLength", 32)
+ writeLength, _writeLengthErr := readBuffer.ReadUint32("writeLength", 32)
_ = writeLength
if _writeLengthErr != nil {
return nil, errors.Wrap(_writeLengthErr, "Error parsing 'writeLength' field")
}
// Array field (items)
- if pullErr := io.PullContext("items", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("items", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
items := make([]*AdsMultiRequestItem, utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (61568)))) || bool(bool(bool((indexGroup) == (61569))))) || bool(bool(bool((indexGroup) == (61570))))), func() uint16 { return uint16(indexOffset) }, func() uint16 { return uint16(uint16(0)) }))
for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (61568)))) || bool(bool(bool((indexGroup) == (61569))))) || bool(bool(bool((indexGroup) == (61570))))), func() uint16 { return uint16(indexOffset) }, func() uint16 { return uint16(uint16(0)) })); curItem++ {
- _item, _err := AdsMultiRequestItemParse(io, indexGroup)
+ _item, _err := AdsMultiRequestItemParse(readBuffer, indexGroup)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'items' field")
}
items[curItem] = _item
}
- if closeErr := io.CloseContext("items", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("items", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
// Array field (data)
- if pullErr := io.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
data := make([]int8, uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12)))))
for curItem := uint16(0); curItem < uint16(uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12))))); curItem++ {
- _item, _err := io.ReadInt8("", 8)
+ _item, _err := readBuffer.ReadInt8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'data' field")
}
data[curItem] = _item
}
- if closeErr := io.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsReadWriteRequest"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadWriteRequest"); closeErr != nil {
return nil, closeErr
}
@@ -219,223 +213,76 @@ func AdsReadWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadWriteRequest) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadWriteRequest) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadWriteRequest"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadWriteRequest"); pushErr != nil {
return pushErr
}
// Simple Field (indexGroup)
indexGroup := uint32(m.IndexGroup)
- _indexGroupErr := io.WriteUint32("indexGroup", 32, (indexGroup))
+ _indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
if _indexGroupErr != nil {
return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
}
// Simple Field (indexOffset)
indexOffset := uint32(m.IndexOffset)
- _indexOffsetErr := io.WriteUint32("indexOffset", 32, (indexOffset))
+ _indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
if _indexOffsetErr != nil {
return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
}
// Simple Field (readLength)
readLength := uint32(m.ReadLength)
- _readLengthErr := io.WriteUint32("readLength", 32, (readLength))
+ _readLengthErr := writeBuffer.WriteUint32("readLength", 32, (readLength))
if _readLengthErr != nil {
return errors.Wrap(_readLengthErr, "Error serializing 'readLength' field")
}
// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items)))*uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == (61570))), func() uint16 { return uint16(uint32(16)) }, func() uint16 { return uint16(uint32(12)) }))))) + uint32(uint32(len(m.Data))))
- _writeLengthErr := io.WriteUint32("writeLength", 32, (writeLength))
+ _writeLengthErr := writeBuffer.WriteUint32("writeLength", 32, (writeLength))
if _writeLengthErr != nil {
return errors.Wrap(_writeLengthErr, "Error serializing 'writeLength' field")
}
// Array Field (items)
if m.Items != nil {
- if pushErr := io.PushContext("items", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("items", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Items {
- _elementErr := _element.Serialize(io)
+ _elementErr := _element.Serialize(writeBuffer)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'items' field")
}
}
- if popErr := io.PopContext("items", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("items", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
// Array Field (data)
if m.Data != nil {
- if pushErr := io.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Data {
- _elementErr := io.WriteInt8("", 8, _element)
+ _elementErr := writeBuffer.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'data' field")
}
}
- if popErr := io.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("AdsReadWriteRequest"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadWriteRequest"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadWriteRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "indexGroup":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.IndexGroup = data
- case "indexOffset":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.IndexOffset = data
- case "readLength":
- var data uint32
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.ReadLength = data
- case "items":
- arrayLoop:
- for {
- token, err = d.Token()
- switch token.(type) {
- case xml.StartElement:
- tok := token.(xml.StartElement)
- var dt *AdsMultiRequestItem
- if err := d.DecodeElement(&dt, &tok); err != nil {
- return err
- }
- m.Items = append(m.Items, dt)
- default:
- break arrayLoop
- }
- }
- case "data":
- var _encoded string
- if err := d.DecodeElement(&_encoded, &tok); err != nil {
- return err
- }
- _decoded, err := hex.DecodeString(_encoded)
- _len := len(_decoded)
- if err != nil {
- return err
- }
- m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadWriteRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
- return err
- }
- if err := e.EncodeElement(m.ReadLength, xml.StartElement{Name: xml.Name{Local: "readLength"}}); err != nil {
- return err
- }
- if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "items"}}); err != nil {
- return err
- }
- for _, arrayElement := range m.Items {
- if err := e.EncodeElement(arrayElement, xml.StartElement{Name: xml.Name{Local: "items"}}); err != nil {
- return err
- }
- }
- if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "items"}}); err != nil {
- return err
- }
- _encodedData := hex.EncodeToString(utils.Int8ArrayToByteArray(m.Data))
- _encodedData = strings.ToUpper(_encodedData)
- if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsReadWriteRequest) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadWriteRequest) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadWriteRequest"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("IndexGroup", m.IndexGroup, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("IndexOffset", m.IndexOffset, -1))
- // Simple field (case simple)
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("ReadLength", m.ReadLength, -1))
- // Implicit Field (writeLength)
- writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items)))*uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == (61570))), func() uint16 { return uint16(uint32(16)) }, func() uint16 { return uint16(uint32(12)) }))))) + uint32(uint32(len(m.Data))))
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("WriteLength", writeLength, -1))
- // Array Field (items)
- if m.Items != nil {
- // Complex array base type
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Items {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Items", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- // Array Field (data)
- if m.Data != nil {
- // Simple array base type int8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Data {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Data", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index c16707d..129ce79 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -20,12 +20,8 @@
package model
import (
- "encoding/hex"
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
- "strings"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -41,9 +37,7 @@ type AdsReadWriteResponse struct {
type IAdsReadWriteResponse interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
///////////////////////////////////////////////////////////
@@ -118,49 +112,49 @@ func (m *AdsReadWriteResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsReadWriteResponseParse(io utils.ReadBuffer) (*AdsData, error) {
- if pullErr := io.PullContext("AdsReadWriteResponse"); pullErr != nil {
+func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+ if pullErr := readBuffer.PullContext("AdsReadWriteResponse"); pullErr != nil {
return nil, pullErr
}
- if pullErr := io.PullContext("result"); pullErr != nil {
+ if pullErr := readBuffer.PullContext("result"); pullErr != nil {
return nil, pullErr
}
// Simple Field (result)
- result, _resultErr := ReturnCodeParse(io)
+ result, _resultErr := ReturnCodeParse(readBuffer)
if _resultErr != nil {
return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
}
- if closeErr := io.CloseContext("result"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("result"); closeErr != nil {
return nil, closeErr
}
// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- length, _lengthErr := io.ReadUint32("length", 32)
+ length, _lengthErr := readBuffer.ReadUint32("length", 32)
_ = length
if _lengthErr != nil {
return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
}
// Array field (data)
- if pullErr := io.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
+ if pullErr := readBuffer.PullContext("data", utils.WithRenderAsList(true)); pullErr != nil {
return nil, pullErr
}
// Count array
data := make([]int8, length)
for curItem := uint16(0); curItem < uint16(length); curItem++ {
- _item, _err := io.ReadInt8("", 8)
+ _item, _err := readBuffer.ReadInt8("", 8)
if _err != nil {
return nil, errors.Wrap(_err, "Error parsing 'data' field")
}
data[curItem] = _item
}
- if closeErr := io.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("data", utils.WithRenderAsList(true)); closeErr != nil {
return nil, closeErr
}
- if closeErr := io.CloseContext("AdsReadWriteResponse"); closeErr != nil {
+ if closeErr := readBuffer.CloseContext("AdsReadWriteResponse"); closeErr != nil {
return nil, closeErr
}
@@ -174,18 +168,18 @@ func AdsReadWriteResponseParse(io utils.ReadBuffer) (*AdsData, error) {
return _child.Parent, nil
}
-func (m *AdsReadWriteResponse) Serialize(io utils.WriteBuffer) error {
+func (m *AdsReadWriteResponse) Serialize(writeBuffer utils.WriteBuffer) error {
ser := func() error {
- if pushErr := io.PushContext("AdsReadWriteResponse"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("AdsReadWriteResponse"); pushErr != nil {
return pushErr
}
// Simple Field (result)
- if pushErr := io.PushContext("result"); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
return pushErr
}
- _resultErr := m.Result.Serialize(io)
- if popErr := io.PopContext("result"); popErr != nil {
+ _resultErr := m.Result.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("result"); popErr != nil {
return popErr
}
if _resultErr != nil {
@@ -194,117 +188,31 @@ func (m *AdsReadWriteResponse) Serialize(io utils.WriteBuffer) error {
// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
length := uint32(uint32(len(m.Data)))
- _lengthErr := io.WriteUint32("length", 32, (length))
+ _lengthErr := writeBuffer.WriteUint32("length", 32, (length))
if _lengthErr != nil {
return errors.Wrap(_lengthErr, "Error serializing 'length' field")
}
// Array Field (data)
if m.Data != nil {
- if pushErr := io.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+ if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
return pushErr
}
for _, _element := range m.Data {
- _elementErr := io.WriteInt8("", 8, _element)
+ _elementErr := writeBuffer.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error serializing 'data' field")
}
}
- if popErr := io.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+ if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
return popErr
}
}
- if popErr := io.PopContext("AdsReadWriteResponse"); popErr != nil {
+ if popErr := writeBuffer.PopContext("AdsReadWriteResponse"); popErr != nil {
return popErr
}
return nil
}
- return m.Parent.SerializeParent(io, m, ser)
-}
-
-// Deprecated: the utils.ReadBufferWriteBased should be used instead
-func (m *AdsReadWriteResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
- var token xml.Token
- var err error
- foundContent := false
- token = start
- for {
- switch token.(type) {
- case xml.StartElement:
- foundContent = true
- tok := token.(xml.StartElement)
- switch tok.Name.Local {
- case "result":
- var data ReturnCode
- if err := d.DecodeElement(&data, &tok); err != nil {
- return err
- }
- m.Result = data
- case "data":
- var _encoded string
- if err := d.DecodeElement(&_encoded, &tok); err != nil {
- return err
- }
- _decoded, err := hex.DecodeString(_encoded)
- _len := len(_decoded)
- if err != nil {
- return err
- }
- m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
- }
- }
- token, err = d.Token()
- if err != nil {
- if err == io.EOF && foundContent {
- return nil
- }
- return err
- }
- }
-}
-
-// Deprecated: the utils.WriteBufferReadBased should be used instead
-func (m *AdsReadWriteResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
- if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
- return err
- }
- _encodedData := hex.EncodeToString(utils.Int8ArrayToByteArray(m.Data))
- _encodedData = strings.ToUpper(_encodedData)
- if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
- return err
- }
- return nil
-}
-
-func (m AdsReadWriteResponse) String() string {
- return string(m.Box("", 120))
-}
-
-// Deprecated: the utils.WriteBufferBoxBased should be used instead
-func (m AdsReadWriteResponse) Box(name string, width int) utils.AsciiBox {
- boxName := "AdsReadWriteResponse"
- if name != "" {
- boxName += "/" + name
- }
- childBoxer := func() []utils.AsciiBox {
- boxes := make([]utils.AsciiBox, 0)
- // Complex field (case complex)
- boxes = append(boxes, m.Result.Box("result", width-2))
- // Implicit Field (length)
- length := uint32(uint32(len(m.Data)))
- // uint32 can be boxed as anything with the least amount of space
- boxes = append(boxes, utils.BoxAnything("Length", length, -1))
- // Array Field (data)
- if m.Data != nil {
- // Simple array base type int8 will be rendered one by one
- arrayBoxes := make([]utils.AsciiBox, 0)
- for _, _element := range m.Data {
- arrayBoxes = append(arrayBoxes, utils.BoxAnything("", _element, width-2))
- }
- boxes = append(boxes, utils.BoxBox("Data", utils.AlignBoxes(arrayBoxes, width-4), 0))
- }
- return boxes
- }
- return m.Parent.BoxParent(boxName, width, childBoxer)
+ return m.Parent.SerializeParent(writeBuffer, m, ser)
}
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
index e15bebc..1323751 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
@@ -20,10 +20,8 @@
package model
import (
- "encoding/xml"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"github.com/pkg/errors"
- "io"
)
// Code generated by build-utils. DO NOT EDIT.
@@ -39,9 +37,7 @@ type AdsStampHeader struct {
type IAdsStampHeader interface {
LengthInBytes() uint16
LengthInBits() uint16
- Serialize(io utils.WriteBuffer) error
- xml.Marshaler
- xml.Unmarshaler
+ Serialize(writeBuffer utils.WriteBuffer) error
}
func NewAdsStampHeader(timestamp uint64, samples uint32, adsNotificationSamples []*AdsNotificationSample) *AdsStampHeader {
@@ -93,41 +89,41 @@ func (m *AdsStampHeader) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func AdsStampHeaderParse(io utils.ReadBuffer) (*AdsStampHeader, error) {
- if pullErr := io.PullContext("AdsStampHeader"); pullErr != nil {
+func AdsStampHeaderParse(readBuffer utils.ReadBuffer) (*AdsStampHeader, error) {
+ if pullErr := readBuffer.PullContext("AdsStampHeader"); pullErr != nil {
... 105279 lines suppressed ...